Wie vermeide ich UNLINK-Sicherheitsrisiken in PHP?
Ich benutze UNLINK mitPHP
undAJAX
. Ich weiß, dass dies sehr gefährlich ist, da jeder beliebige Dateien löschen kann. Aber ich muss @ verwendAJAX
weil ich die Seite nicht neu laden kann, wenn ich die Dateien lösche.
Wie kann ich also zulassen, dass die Datei nur für den Benutzer gelöscht wird, dem sie gehört?
Bitte lass mich auch andere Dinge wissen, wenn du denkst, dass ich hier etwas falsch mache oder etwas anderes, was du im Sinn hast und du denkst, dass es nützlich sein wird:)
Mein PHP-Code:
<?php
$photo_id = $_GET['photo_id'];
$thumbnail_id = $_GET['thumbnail_id'];
function deletePhotos($id){
return unlink($id);
}
if(isset($photo_id)){
deletePhotos($photo_id);
}
if(isset($thumbnail_id)){
deletePhotos($thumbnail_id);
}
?>
Mein AJAX-Code:
function deletePhoto(photo, thumbnail){
var photos = encodeURIComponent(photo);
var thumbnails = encodeURIComponent(thumbnail);
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("media").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", "http://192.168.2.104/images/users/delete_photo.php?photo_id="+photos+"&thumbnail_id="+thumbnails, true);
xmlhttp.send();
}