Ada*_*dam 6 php security ajax unlink delete-file
我正在使用UNLINK PHP和AJAX.我知道这种方式非常危险,因为每个人都可以删除任何文件.但我需要使用,AJAX因为我删除文件时无法重新加载页面.
那么我该如何才能允许仅为拥有它的用户删除该文件?
如果你认为我在这里做错了什么或其他什么你想到的东西,你也要告诉我其他的事情,你认为它会有用:)
我的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);
}
?>
Run Code Online (Sandbox Code Playgroud)
我的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();
}
Run Code Online (Sandbox Code Playgroud)
您需要以某种方式验证用户.
您的用户需要使用用户名和密码进行身份验证.
PHP会话可用于记住,您应该使用服务器上的数据库表或文本文件来存储文件所有权信息.
然后,在取消链接任何内容之前,您的逻辑应该确保当前"已验证"的用户是该文件的所有者.
| 归档时间: |
|
| 查看次数: |
2803 次 |
| 最近记录: |