假设我希望我的用户允许在我的页面上创建PHP脚本,并将这些页面保存在目录中。我应该禁用哪些功能才不会被黑客入侵?或者我该怎么做?首先,我不会允许人们通过PHP文件上传文件(不知道如何去做),还有什么?如果允许用户输入PHP,应禁用哪些功能?
回答
- 文件处理(
fopen
,fclose
,fwrite
等) - 文件浏览(
opendir
,readdir
等) - 执行(
exec
,shell
等) - 远程文件访问(
allow_url_include
php.ini指令)
其他任何你可能看到的是harmf UL认证。将自己置于“破解者”的位置,你会用什么方式来查看你的系统或环境,并且拒绝任何你认为有害的东西。
而不是重新键入的所有有用的东西,在这个家伙stackexchange网站,我提供你一个链接先生:https://security.stackexchange.com/questions/1382/disable-insecure-dangerous-php-functions
和几个功能:
“apache_child_terminate,apache_setenv,define_syslog_variables,escapeshellarg,escapeshellcmd, eval,exec,fp,fput,ftp_connect,ftp_exec,ftp_get,ftp_login,ftp_nb_fput,ftp_put,ftp_raw,ftp_rawlist,highlight_file,ini_alter,ini_get_all,ini_restore,inject_code,mysql_pconnect,openlog,passthru,php_uname,phpAds_remoteInfo,phpAds_XmlRpc,phpAds_xmlrpcDecode,phpAds_xmlrpcEncode, popen,posix_getpwuid,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,po six_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,了shell_exec,系统日志,系统,xmlrpc_entity_decode”
你不能让PHP成黑名单各个功能安全的语言 - 也有可以被恶意使用太多的。
那么我应该怎么做? – 2012-02-24 19:28:47
不要让用户上传可执行代码。备份,重新评估你想要做的事情,并以不同的方式去做。 – duskwuff 2012-02-24 19:42:59
我会以相反的方式去做。我会为用户提供他们可以使用的PHP子集。
然后,您只需验证它们发送的内容是否包含在该安全列表中。
另外,您可以创建自己的函数来替换某些危险的函数。
- 1. 如何允许用户输入java
- 2. 输入框,允许富文本功能
- 3. 功能输入允许不同类型
- 4. R`scan`功能的哪一部分允许数据输入?
- 5. PHP地穴功能的用户输入
- 6. ComboBox不允许用户输入
- 7. 允许用户选择输入
- 8. 允许用户输入变量(Python)
- 9. 允许用户只输入文本?
- 10. 只允许HTML格式的某些用户输入
- 11. 隐藏用户输入,只允许某些字符
- 12. 只允许某些HTML标签的用户输入
- 13. 允许用户启用/禁用选项
- 14. PHP MySQL的允许用户插入
- 15. 如何查看哪些Facebook用户“允许”我的应用程序?
- 16. 哪些许可证禁止用户删除“许可证声明”?
- 17. 哪些HTML5标签允许“已禁用”属性?
- 18. 用户输入的功能
- 19. Node.js W/Socket.io - 切换用户功能(允许和防止写入)
- 20. 允许用户禁用通知Android
- 21. <%# ... %>标签内容允许哪些功能?
- 22. dojo的查询功能允许哪些字符?
- 23. 编辑php.ini以允许某些功能
- 24. 防止用户输入过大PHP“允许的内存大小”
- 25. php定时器只允许用户每两秒输入一次
- 26. 允许哪些线程调用SwingWorker#publish?
- 27. google.maps.Size允许使用哪些单位?
- 28. 公司商店帐户允许哪些功能,而不是个人?
- 29. 哪些语言允许输入非矩形数据来绘制
- 30. iPhone应用程序名称中允许使用哪些字符
只要您保存这些网页并且不打算在服务器上运行它们,您就可以允许您的用户创建任何PHP脚本:-) – jgivoni 2012-02-24 23:13:40