PHP ��Ӵ����������ϵͳ�й����ļ���Ŀ¼Ȩ�İ�ȫ���ơ����ʹ����Ա���Կ�����Щ�ļ����ļ�ϵͳ���ǿɶ��ġ������ر�ע�����ȫ�ֵĿɶ��ļ�����ȷ��ÿһ����Ȩ���û�����Щ�ļ��Ķ�ȡ�������ǰ�ȫ�ġ�
PHP �����Ϊ���û������������ļ�ϵͳ��������ȫ�п���ͨ����дһ�� PHP ��������ȡϵͳ�ļ��� /etc/passwd���������������Լ����ʹ�����ӡ����ȵȡ���˱���ȷ�� PHP �����ȡ��д����Ǻ��ʵ��ļ���
�뿴����Ĵ��룬�û���Ҫɾ���Լ���Ŀ¼�е�һ���ļ��������������ͨ�� web �����������ļ�ϵͳ����� Apache �û���Ȩɾ���û�Ŀ¼�µ��ļ���
Example #1 ���Ա������а�ȫ���ᵼ��......
<?php
// ���û�Ŀ¼��ɾ��ָ�����ļ�
$username = $_POST['user_submitted_name'];
$userfile = $_POST['user_submitted_filename'];
$homedir = "/home/$username";
unlink ("$homedir/$userfile");
echo "The file has been deleted!";
?>
Example #2 ......�ļ�ϵͳ����
<?php
// ɾ��Ӳ�����κ� PHP �з���Ȩ���ļ������ PHP �� root Ȩ�ޣ�
$username = $_POST['user_submitted_name']; // "../etc"
$userfile = $_POST['user_submitted_filename']; // "passwd"
$homedir = "/home/$username"; // "/home/../etc"
unlink("$homedir/$userfile"); // "/home/../etc/passwd"
echo "The file has been deleted!";
?>
Example #3 ����ȫ���ļ������
<?php
// ɾ��Ӳ���� PHP ��Ȩ���ʵ��ļ�
$username = $_SERVER['REMOTE_USER']; // ʹ����֤����
$userfile = basename($_POST['user_submitted_filename']);
$homedir = "/home/$username";
$filepath = "$homedir/$userfile";
if (file_exists($filepath) && unlink($filepath)) {
$logstring = "Deleted $filepath\n";
} else {
$logstring = "Failed to delete $filepath\n";
}
$fp = fopen("/home/logging/filedelete.log", "a");
fwrite ($fp, $logstring);
fclose($fp);
echo htmlentities($logstring, ENT_QUOTES);
?>
Example #4 ����ȫ���ļ������
<?php
$username = $_SERVER['REMOTE_USER']; // ʹ����֤����
$userfile = $_POST['user_submitted_filename'];
$homedir = "/home/$username";
$filepath = "$homedir/$userfile";
if (!ctype_alnum($username) || !preg_match('/^(?:[a-z0-9_-]|\.(?!\.))+$/iD', $userfile)) {
die("Bad username/filename");
}
//����......
?>
���ݲ���ϵͳ�IJ�ͬ�������Ÿ��ָ�����Ҫע����ļ���������ϵ��ϵͳ���豸��/dev/ ���� COM1���������ļ���/ect/ �ļ��� .ini�ļ��������õĴ洢����/home/ ���� My Documents���ȵȡ����ڴ�ԭ����һ�����Խ�ֹ����Ȩ��ֻ������ȷ�����ͨ��������Щ��