Aktives Mitglied
Tach,
ich hab mir kein kleines Login Script runtergeladen und bin soweit auch zufrieden damit, jeder User hat seinen eigenen Ordner in den er automatischrein kommt, wenn er sich eiloggt.
ABER, wenn man sich einloggt und die Adresse des Ordners eines anderen Users eingibt, kann man da auch rein. Aktuell wird folgendermaßen geguckt ob der, der auf den Ordner zugreifen will auch eingeloggt ist:
Jetzt soll aber der User mit der ID 2 nur auf seinen Ordner zugriff haben, und nicht auf den Ordner des Users mit der ID 3.
Außerdem, hab ich in einem Ordner volle Zugriffsrechte gegeben, also 777, aber eine Datei in dem Ordner, soll man nicht löschen dürfen, wie kann ich das einrichten?
EDIT: Hier mal mein Uploadscript + Dateianzeige (also welche Datein im Upload-Ordner sind), vllt kann man da ja das Anzeigen von PHP Dateien sperren?
lg
ich hab mir kein kleines Login Script runtergeladen und bin soweit auch zufrieden damit, jeder User hat seinen eigenen Ordner in den er automatischrein kommt, wenn er sich eiloggt.
ABER, wenn man sich einloggt und die Adresse des Ordners eines anderen Users eingibt, kann man da auch rein. Aktuell wird folgendermaßen geguckt ob der, der auf den Ordner zugreifen will auch eingeloggt ist:
PHP:
<?php
session_start ();
if (!isset ($_SESSION["user_id"]))
{
header ("Location: ../index.php");
}
?>
Außerdem, hab ich in einem Ordner volle Zugriffsrechte gegeben, also 777, aber eine Datei in dem Ordner, soll man nicht löschen dürfen, wie kann ich das einrichten?
EDIT: Hier mal mein Uploadscript + Dateianzeige (also welche Datein im Upload-Ordner sind), vllt kann man da ja das Anzeigen von PHP Dateien sperren?
PHP:
<?
if(uploadmoeglichkeitpruefen()==false){
echo '<div style="color:red;">Es ist auf diesen Server kein Upload moeglich, bitte wenden Sie sich an Ihren Hoster und bitten um Aktivierung der Php Upload Funktion.</div>';
exit;
}
if(file_exists($img_path_up)==false OR $img_path_up ==''){
echo '<div style="color:red;">Es gibt kein Ordner wohin die Bilder geladen werden sollen!</div>';
exit;
}
?>
<br>
<strong>File Upload</strong><br>
<br>
<?
if($_POST["senden"]==1){
$filename = "";
if ($_FILES['userfile']['tmp_name']<> 'none'){
$file = $_FILES['userfile']['name'];
$temp = $_FILES['userfile']['tmp_name'];
$path_parts = pathinfo($file);
if(!isset($path_parts["extension"])) $path_parts["extension"]='';
if($_FILES['userfile']['type'] != 'image/gif' && $_FILES['userfile']['type'] != 'image/jpeg' && $_FILES['userfile']['type'] != 'image/png' && $_FILES['userfile']['type'] != 'image/jpeg') $ist_bild=0; else $ist_bild=1;
if($upload_erlaubnis == 0) $ist_bild=1;
if($ist_bild==0) {
echo '<div style="color:red;">Nur GIF, PNG, JPEG und JPG Dateien duerfen hochgeladen werden. <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
} else {
if($path_parts["extension"]!=""){
$filename = "datei_" . time() . "." . $path_parts["extension"];
if($_FILES['userfile']['size'] <= $groessemax*1024){
if(decoct(fileperms($img_path_up))==40777){
if(@copy($temp, $img_path_up.$filename)){
echo '<div style="color:green;">Datei ist auf den Server!<br>';
echo 'Url der Datei: <a href="http://'.$_SERVER['HTTP_HOST'].$path.$filename.'" target="_blank">http://'.$_SERVER['HTTP_HOST'].$path.$filename.'</a><br><br><a href="'.$_SERVER['PHP_SELF'].'">Eine weitere Datei auf den Server laden...</a><br><br></div>';
} else {
echo '<div style="color:red;">Die Datei konnte nicht auf den Server geladen werden. <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
}
} else {
echo '<div style="color:red;">Der Upload Ordner hat keine Schreibrechte! <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
}
} else {
echo '<div style="color:red;">Die Datei ist zu gross! Die Datei darf nicht groesser als '.$groessemax.' KB (KiloByte) sein. <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
}
}
}
}
} else {
?>
<form method="post" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<input type="hidden" value="1" name="senden">
die Datei darf nicht größer sein als <?php if((maximaledateiuploadgroesseermitteln()/1024)>$groessemax) echo $groessemax; else echo (maximaledateiuploadgroesseermitteln()/1024);?> KB (KiloByte).<br><br>
<input name="userfile" type="file" size="40"><br><br>
<input type="submit" name="action" value="Speichern">
</form>
<? } ?>
<br><strong>File List</strong><br><br>
<?
if($_GET["loechen"]==1 AND $_GET["file"]!=''){
if(@file_exists($img_path_up.$_GET["file"])==true){
$type = explode(".", $bilder_path_thumbnail.$_GET["tn"]);
if($type[count($type)-1] == 'gif' OR $type[count($type)-1] == 'jpeg' OR $type[count($type)-1] == 'png' OR $type[count($type)-1] == 'jpg'){
if(@unlink($bilder_path_thumbnail.$_GET["tn"])==false) echo '<div style="color:green;">Das Thumbnail konnte nicht geloescht werden!<br><br></div>';
}
if(@unlink($img_path_up.$_GET["file"])==true) echo '<div style="color:green;">Die Datei wurde erfolgreich geloescht!<br><br></div>';
else echo '<div style="color:red;">Die Datei konnte nicht geloescht werden.<br><br></div>';
} else {
echo '<div style="color:red;">Die Datei gibt es nicht im Upload Verzeichnis!<br><br></div>';
}
}
?>
<table border="0" bordercolor="Gray" bgcolor="DarkGray" cellspacing="2" cellpadding="2" width="500">
<tr align="middle" bgcolor="Gainsboro" style="font-weight:bold">
<td><SPAN class="fett">File</SPAN></td>
<td><SPAN class="fett">Größe</SPAN></td>
<td><SPAN class="fett">Letzte Änderung</SPAN></td>
<td><SPAN class="fett">Aktion</SPAN></td>
</tr>
<?
$page = isset($_GET['page']) ? $_GET['page'] : 0;
$offset = 0;
$offset = $page * $length;
$verzeichnis_daten = array();
$fp = opendir ($img_path_up);
while (false !== ($file = readdir($fp))) {
if (filetype($img_path_up.$file)!="dir"){
$verzeichnis_daten[] = $file;
}
}
closedir($fp);
asort($verzeichnis_daten);
for ($i = $offset; $i < $offset+$length AND $i < count($verzeichnis_daten); $i++) {
echo '<tr bgcolor="Gainsboro">';
$type_check = explode(".",$verzeichnis_daten[$i]);
if($thumbnail_create==1 AND ($type_check[count($type_check)-1]=='jpg' OR $type_check[count($type_check)-1]=='gif' OR $type_check[count($type_check)-1]=='png' OR $type_check[count($type_check)-1]=='jpeg')){
$typ=thumbnail($verzeichnis_daten[$i], $img_path_up , $bilder_path_thumbnail, $thumbnail_neuebreite );
if($typ==1 OR $typ==2 OR $typ==3) echo ' <td align="center"><a target="_blank" href="http://'.htmlspecialchars($_SERVER['HTTP_HOST']).$path.$verzeichnis_daten[$i].'"><img border="0" src="http://'.htmlspecialchars($_SERVER['HTTP_HOST']).$bilder_url_thumbnail.'TN'.$verzeichnis_daten[$i].'"></a></td>';
else echo ' <td><a href="http://'.htmlspecialchars($_SERVER['HTTP_HOST']).$path.$verzeichnis_daten[$i].'" target="_blank">'.$verzeichnis_daten[$i].'</a></td>';
} else {
echo ' <td><a href="http://'.htmlspecialchars($_SERVER['HTTP_HOST']).$path.$verzeichnis_daten[$i].'" target="_blank">'.$verzeichnis_daten[$i].'</a></td>';
}
echo ' <td>'.fs_convert($img_path_up.$verzeichnis_daten[$i],2).'</td>';
echo ' <td>'.date("d.m.Y H:i", last_change($img_path_up.$verzeichnis_daten[$i])).'</td>';
echo ' <td><a href="'.htmlspecialchars($_SERVER["PHP_SELF"]).'?file='.$verzeichnis_daten[$i].'&tn=TN'.$verzeichnis_daten[$i].'&loechen=1" >Löschen</td>';
echo '</tr>';
}
if(count($verzeichnis_daten)==0){
echo '<tr bgcolor="Gainsboro">';
echo ' <td colspan="4">Es ist noch keine Datei im Upload Ordner.</td>';
echo '</tr>';
}
echo '</table>';
if ($page > 0 AND count($verzeichnis_daten)!=0) {
echo '<a href="'.htmlspecialchars($_SERVER['PHP_SELF']).'?page='.($page-1).'">«</a> ';
}
if (( count($verzeichnis_daten)/$length ) > ($page+1) AND count($verzeichnis_daten)!=0 ) {
echo '<a href="'.htmlspecialchars($_SERVER['PHP_SELF']).'?page='.($page+1).'">»</a> ';
}
?>
lg
Zuletzt bearbeitet: