Guten Morgen,
ich habe auf meiner Homepage einen Fileupload eingebaut.Dieser funktioniert bisher eigentlich problemlos. Aber ich habe Spamm Probleme bei dem Ordner in den ich die Uploads zulasse.
Die Uploadfunktion steht nur eingeloggten (vertrauenswürdigen) Usern zur Verfügung. Von denen kommt der Spamm also sicher nicht.
Damit der Upload richtig läuft, muss ich die Berechtigung des Ordners in den ich hochlade auf 777 setzen, sonst bekomme ich eine Fehlermeldung.
Genau hier liegt wohl auch das Problem mit dem Spamm. So kann mir jeder seine Dateien in den Ordner schieben.
Kann mir jemand von euch eine Möglichkeit sagen wie ich das verhindern kann?
Wenn ich das richtig verstehe liegt es an der verwendeten Funktion move_uploaded_file.
Diese wirft bei mir nur dann keinen Fehler, wenn die Berechtigungen des Ordners, in den geuploadet werden soll, wirklich auf 777 stehen.
Hier mal mein Code:
die upload Funktion:
Im Netz gibt es genug tutorials zu Fileuploads. Davon hab ich mir auch schon einige angeschaut. Mein "Fehlerabfang" könnte sicherlich besser sein, aber mir geht es um die Zugriffsberechtigung des Uploadordners und dazu konnte ich leider nichts brauchbares finden.
Es wäre nett, wenn sich jemand einen Augenblick für mich Zeit nehmen würde, um mir zu helfen, das Problem zu lösen.
Vielen Dank,
waldjunge
ich habe auf meiner Homepage einen Fileupload eingebaut.Dieser funktioniert bisher eigentlich problemlos. Aber ich habe Spamm Probleme bei dem Ordner in den ich die Uploads zulasse.
Die Uploadfunktion steht nur eingeloggten (vertrauenswürdigen) Usern zur Verfügung. Von denen kommt der Spamm also sicher nicht.
Damit der Upload richtig läuft, muss ich die Berechtigung des Ordners in den ich hochlade auf 777 setzen, sonst bekomme ich eine Fehlermeldung.
Genau hier liegt wohl auch das Problem mit dem Spamm. So kann mir jeder seine Dateien in den Ordner schieben.
Kann mir jemand von euch eine Möglichkeit sagen wie ich das verhindern kann?
Wenn ich das richtig verstehe liegt es an der verwendeten Funktion move_uploaded_file.
Diese wirft bei mir nur dann keinen Fehler, wenn die Berechtigungen des Ordners, in den geuploadet werden soll, wirklich auf 777 stehen.
Hier mal mein Code:
PHP:
<?php
if (logged_in()) {
if(isset($_POST['submit'])){
upload();
}else{
?>
<form action="index.php?page=upload&submit=true" method="post" enctype="multipart/form-data">
<input type="file" name="datei" tabindex="1"><br/><br/>
<input name="submit" type="submit" id="submit" tabindex="2" value="Hochladen">
</form>
<?php
}
}else{
?>
<p>
<b>Bitte einloggen...</b><br /><br />
Sorry, nur Members können Dateien Uploaden!
</p>
<br />
<?php
}
?>
die upload Funktion:
PHP:
if($_FILES['datei']['size'] < 10240000){
move_uploaded_file($_FILES['datei']['tmp_name'], "uploads/".$_FILES['datei']['name']);
$filename= $_FILES['datei']['name'];
logUpload($filename);
echo "<p>Die Datei wurde Erfolgreich nach uploads/".$_FILES['datei']['name']." hochgeladen</p>";
}else{
echo "<p>Die Datei darf vorerst nicht größer als 10 mb sein </p>";
}
Im Netz gibt es genug tutorials zu Fileuploads. Davon hab ich mir auch schon einige angeschaut. Mein "Fehlerabfang" könnte sicherlich besser sein, aber mir geht es um die Zugriffsberechtigung des Uploadordners und dazu konnte ich leider nichts brauchbares finden.
Es wäre nett, wenn sich jemand einen Augenblick für mich Zeit nehmen würde, um mir zu helfen, das Problem zu lösen.
Vielen Dank,
waldjunge