boardmaster
Ein upload script Super sicher soll es sein !!
es soll nicht so sein wie rapidshare aber auch nicht das man direkt zugriff auf die datein bekommt halt so sicher wie auf sceneupload.com nur das man noch einen buchstaben zahlen mix eingeben muss ich würde es auch bezahlen wer cool wenn sich da jemand meldet und mir auch gleich nen angebot macht und mir sagt was er oder vieleicht auch sie verlangt
Danke
boardmaster
p-Logic
Ich hätte ein ganz einfaches Upload script. Ich werds mal anhängen.
Was meinst du mit sicher? Ich kenn mich bei sceneupload.com nicht aus.
Mal ein Zitat von sceneupload.com:
| Zitat: |
Sie können unseren Service auf Ihrer Seite anbieten.
In der Linken-Navigation finden Sie den link Napping, klicken Sie drauf und Informieren Sie sich wie es geht. |
Du kannst auch deren Service benutzen und es bleibt genauso "sicher".
Mein Script (es benötigt ein Unterverzeichniss uploads/ mit Schreibrechten):
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
|
<?
$ext = ".txt"; // Die Endung die an alle Hochgeladenen Datein angehängt wird.
// Kann auch auf $ext=""; gesetzt werden.
if(isset($_POST["upload"])){
if(is_uploaded_file($_FILES["file"]["tmp_name"])) {
$userfile = $_FILES["file"]["tmp_name"];
$userfile_name = baseName($_FILES["file"]["name"]);
$userfile_backup=$userfile_name;
$endung = explode(".",$userfile_backup);
$i = 0;
while (file_exists("uploads/".$userfile_name.$ext)) {
$i++;
$userfile_name = $endung[count($endung)-2].$i.".".$endung[count($endung)-1];
}
if (!copy($_FILES["file"]["tmp_name"], "uploads/".$userfile_name.$ext)){
echo"<br>Fehler!";
}else{
echo"Die Datei wurde auf den Server kopiert.<br>";
}
}
}
?>
<form style="text-align: center;" action="" method="post" enctype="multipart/form-data">
Hier wird die Moeglichkeit geboten eine Datei zur temporaeren Aufbewahrung auf diesem Server zu speichern:<br>
<input type="file" name="file"> <input name="upload" type="submit" value="Upload">
</form>
<?
function vergleich($wert_a, $wert_b)
{
$a = $wert_a["ctime"];
$b = $wert_b["ctime"];
if ($a == $b)
return 0;
return ($a > $b) ? -1 : +1;
}
if ($handle = opendir("uploads")) {
$j = 0;
while (false !== ($file = readdir($handle))) {
if (($file != ".") && ($file != "..")) {
$filename = "";
$endung = explode(".",$file);
for ($i = 0; $i < count($endung)-1; $i++) {
$filename .= $endung[$i].".";
}
$filename = substr($filename,0,-1);
$ctime = filectime("uploads/".$file);
$atime = fileatime("uploads/".$file);
$array[$j]["file"] = $file;
$array[$j]["filename"] = $filename;
$array[$j]["ctime"] = $ctime;
$array[$j]["atime"] = $ctime;
$j+=1;
}
}
usort($array, 'vergleich');
foreach ($array as $a) {
echo "<a HREF=\"uploads/".$a["file"]."\">".$a["filename"]."</a> - ".filesize("uploads/".$a["file"])."kb<br>";
echo " >> Upload: ".gmdate("d M Y H:i:s", $a["ctime"])." (Systemzeit des Servers)<br><br>";
}
}
?>
|
|
Wolf
| Zitat: |
| uchstaben zahlen mix eingeben muss |
So ein Bild mit sinnlosen Zeichen um den Upload durch einen Bot etc. zu verhindern?
p-Logic
Wie wärs mit
| Zitat: |
| <iframe src="http://SceneUpload.com/index.php?seite=nupload" height="225" width="500"></iframe> |
Wie ich schon geschrieben habe, bietet dir sceneupload den Service kostenlos an.
Man muss ja nicht _immer_ das Rad neu erfinden
Falls du aber das PHP script benutzen/abändern willst, dann musst du einfach noch nen Ordner mit nem zufäligem Namen erstellen und den Download dann dort hin verschieben:
$var = md5(random().time ());
mkdir("uploads/".$var, 0777);
und dann alle "uploads/".$userfile_name.$ext durch "uploads/".$var."/".$userfile_name.$ext ersetzen.
Der Downloadlink ist dann "uploads/".$var."/".$userfile_name.$ext und kann mit
<? echo "<a HREF=\"uploads/".$var."/".$userfile_name.$ext."\"> Downloaslink </a>"?>
angezeigt werden.
Löschlink wird komplizierter:
Das hier an den Anfang des Codes (nach <?) kopieren:
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
|
<?php function remove_directory($dir) {
if (preg_match("/^uploads\/[0-9,a-f]\{32}\/$/",$dir)) {
$dir_contents = scandir($dir);
foreach ($dir_contents as $item) {
if (is_dir($dir.$item) && $item != '.' && $item != '..') {
remove_directory($dir.$item.'/');
}
elseif (file_exists($dir.$item) && $item != '.' && $item != '..') {
unlink($dir.$item);
}
}
rmdir($dir);
}
}
if (isset ($_GET["delete"])) {
remove_directory("uploads/".$_GET["delete"]."/");
} ?> |
|
(md5 hatte doch 32 Hex Zahlen, oder?)
Dann kann der Delete Link angegeben werden mit:
<? echo "<a HREF=\"?delete=".$var."\"> Löschlink </a>"?>
**sLy**
oder man läd das file in ein nonhttp ordner, und fürs downloaden erstellt man einen http ordner (phpsessid) und kopiert das file rein.
wenn die session abgelaufen is, löschen :>. müsste man dann noch bissl rumfrickeln. so kann man definitiv nicht ein 2. mal ans file
gruß, sly
boardmaster
ok kann mir dann einer das script fertig machen wie gesagt wenn mir jemand nen script so schreibt wie ich es haben will dann zahle ich auch was dafür
p-Logic
| Zitat: |
Original von **sLy**
... und kopiert das file rein. |
Wenn boardmaster aber irgendwann 1000 Zugriffe auf den File/Sekunde hat ist das ein bisschen viel rum kopiere
@boardmaster: Bis auf den Ajax Balken war ja alles in meinem Post. Ich stells noch mal zu einer Datei zusammen.
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
|
<?
function remove_directory($dir) {
if (preg_match("/^uploads\/[0-9,a-f]\{32}\/$/",$dir)) {
$dir_contents = scandir($dir);
foreach ($dir_contents as $item) {
if (is_dir($dir.$item) && $item != '.' && $item != '..') {
remove_directory($dir.$item.'/');
}
elseif (file_exists($dir.$item) && $item != '.' && $item != '..') {
unlink($dir.$item);
}
}
rmdir($dir);
}
}
if (isset ($_GET["delete"])) {
remove_directory("uploads/".$_GET["delete"]."/");
}
$ext = ".txt"; // Die Endung die an alle Hochgeladenen Datein angehängt wird.
// Kann auch auf $ext=""; gesetzt werden.
if(isset($_POST["upload"])){
if(is_uploaded_file($_FILES["file"]["tmp_name"])) {
$var = md5(random().time ());
mkdir("uploads/".$var, 0777);
$userfile = $_FILES["file"]["tmp_name"];
$userfile_name = baseName($_FILES["file"]["name"]);
$userfile_backup=$userfile_name;
$endung = explode(".",$userfile_backup);
$i = 0;
while (file_exists("uploads/".$var."/".$userfile_name.$ext)) {
$i++;
$userfile_name = $endung[count($endung)-2].$i.".".$endung[count($endung)-1];
}
if (!copy($_FILES["file"]["tmp_name"], "uploads/".$var."/".$userfile_name.$ext)){
echo"<br>Fehler!";
}else{
echo"Die Datei wurde auf den Server kopiert.<br>";
echo "Benutzen Sie bitte den <a HREF=\"uploads/".$var."/".$userfile_name.$ext."\"> Downloadlink </a> um die Datei herunter zu laden<br>";
echo "und den <a HREF=\"?delete=".$var."\"> Löschlink </a> um die Datei zu löschen.";
}
}
}
?>
<form style="text-align: center;" action="" method="post" enctype="multipart/form-data">
Hier wird die Moeglichkeit geboten eine Datei zur temporaeren Aufbewahrung auf diesem Server zu speichern:<br>
<input type="file" name="file"> <input name="upload" type="submit" value="Upload">
</form>
|
|
boardmaster
vielen dank ist jemand bereit mein coder zu werden also gegen bezahlung ?
p-Logic
Was soll denn alles gecodet werden, höhrt sich ja nach nem größerem Projekt an, wenns mit dem Script noch nicht ganz getan ist
boardmaster
also eigentlich steht oben schon alles eben sowas wie rapidshare + ajax balken und es sollte noch nen tick sicherer sein es soll paypal bezahlung angeboten werden können und und und es soll auch so sein das man warten muss dann sollen noch buchstaben + zahlen erscheinen die man eingeben muss und ich will das es eben premium user gibt die dann eben mehr rechte haben wie andere normale user wenn mir da jemand ein preis sagen kann würde ich mich freuen
boardmaster
Ich werde es bezahlen zur bezahlung möchte ich aber 1 jahr supoort haben das heißt wenn mal was ist dann ich dann jemanden habe der mir helfen kann
ThiefMaster
Zahl mir 5000€ und ich mach es
boardmaster
lol 5000€ ich würde maximal 100€ zahlen lol für 5000€ bekomme ich jemanden der ich tag und nach anrufen kann und der würde mir zu jeder zeit erweiterungen coden lol 5000€ hast du bier egraucht ?
daHooligan
für 100€ kriegst du kein jahr lkang support und wahrscheinlich nicht mal das script...