Estoy usando UNLINK con PHP
y AJAX
. Sé que de esta manera es muy peligroso, porque todos pueden eliminar cualquier archivo. Pero necesito usar AJAX
porque no puedo volver a cargar la página cuando borro los archivos.¿Cómo evitar los riesgos de seguridad de UNLINK en PHP?
Entonces, ¿cómo debo hacer para permitir que se elimine el archivo solo para el usuario que lo posee?
por favor hágamelo saber otras cosas también si usted piensa que estoy haciendo aquí algo mal o algo más de lo que tiene en mente y cree que será útil:)
Mi código PHP:
<?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);
}
?>
Mi código AJAX:
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();
}
AJAX tiene nada que ver con seguridad Desde el punto de vista del servidor, la llamada AJAX no es diferente de una normal. Su problema no está en AJAX sino en falta de autorización. Cuanto antes lo comprenda, más pronto resolverá su problema. –
Hola @Col. Shrapnel, no creo que tengas toda la razón, porque sin 'AJAX' no necesito hacer un archivo al que cualquiera pueda acceder y pueda eliminar cualquier cosa con una solicitud GET. De lo contrario, sé que el problema aquí es con la autorización, es por eso que hice esta pregunta 'Entonces, ¿cómo debo hacer para permitir que se elimine el archivo solo para el usuario que lo posee?' – Adam
¿cómo se puede dejar que el usuario elimine un archivo sin tal ¿un guión? –