【发布时间】:2015-02-17 06:16:48
【问题描述】:
例如名为test的目录放置了.htacess,第一行只有代码php_flag engine off
在目录test 中放置文件test.php 与此代码echo 1+3;
在另一个文件(main.php)中放置include("test.php");
打开main.php 并查看4(1+3 的结果)。
添加了AddType text/plain .php .phtml .php3。同样的结果。
我预计因为test.php 中的php_flag engine off 代码不会执行。
如何防止test.php中的代码执行?
试图防止图像目录中的黑客以某种方式上传php文件,然后直接访问该文件或将该文件包含在另一个文件中。
措施:
1) 创建了多个验证来检查上传的文件是否是图像并且不包含一些 php 代码。
2) 禁用对图像目录的直接访问(在 htaccess 中)
3) 为了确保黑客不能将上传的 php 文件包含在另一个目录中的文件中,因为理解必须将所有目录设置为只读,除了 images 目录
【问题讨论】:
-
那么
main.php是在 .htaccess 文件所在的目录之外吗? -
是的,在外面。需要在
main.php所在的目录下添加php_flag engine off? -
我不明白你为什么要这么做。如果没有人可以执行它,为什么还有一个 PHP 文件?
-
上传图片的目录