我需要在php中使用/var/www/mysite/postImage
函数删除unlink()
文件夹中的图像文件。
但我绝对担心,如果有人入侵我的网站并正在使用它..或者。在路径中并尝试删除上级文件夹中的内容。
我使用JQuery发送路径,因为它的客户端编程很危险。
我知道,我可以在上传文件时绕过点,但如果有人通过添加点来改变客户端的路径呢?
我的问题是如何阻止某人这样做?
答案 0 :(得分:1)
Thumb规则应该是这样,你应该至少依赖客户端的数据。
现在根据您的问题,您似乎正在发送要删除的完整文件路径。
所以恕我直言,你应该只发送文件名,让服务器端php
决定(追加)要删除文件的目录。
// example
$filename = $_POST['fname']; // something like xyz.png
$filename = str_replace('/','',$filename); // strip any forward slash.
if(empty($filename)){
die('File Name Invalid'); // seems like all the characters in file name were slashes.
}
$directory = 'some/folder/that/contain/images/postImage/';
$filepath = $directory . $filename;
unlink($filepath);
现在关于使用此功能的其他人,只需保留一个登录系统,并检查用户是否已登录。
答案 1 :(得分:1)
..
,清理并验证路径是否正确。