可能重复:
What security issues should I look out for in PHP
What should a developer know before building a public web site?
我正在开发的项目已接近完成并接近启动,但我想确保它是防黑客的,因为我的朋友/合作伙伴认为我们有一些敌人可以雇用聪明的黑客来使网站失效。
如果在HTTPS下安全地运行我的网站会有所帮助,如果我有很多用户,它会难以在CPU上使用吗?
请告诉我所需的所有安全检查。
答案 0 :(得分:5)
我想确保它是防黑客的
你不能。
我们有一些敌人可以聘请聪明的黑客来使网站失效
你被搞砸了。
请告诉我所需的所有安全检查。
这是一个比SO答案应该合理涵盖的更大的话题。
答案 1 :(得分:2)
一些建议:
1)确保并抑制错误;黑客可以通过看到它们来了解您的应用程序
2)在您的服务器上为您的Web应用程序设置了良好的权限;如果黑客能够破坏您服务器上的进程,他们将更难以使用/访问其他文件夹/文件
3)我不知道https有助于防范黑客,除非它会隐藏客户端和服务器之间传输的数据(这实际上取决于你的应用程序正在做什么以确定是否有必要)
答案 2 :(得分:2)
远离eval和exec,除非你知道自己在做什么,每次任何甚至可能受第三方影响的变量被放入查询时,都要使用mysql_real_escape_string,使用正确的文件/文件夹权限,不要让let()使用用户数据(获取,发布,cookie数据)......还有数以百计的其他东西,但老实说,如果你认为有人会破解你的网站而你在这里发帖要求这样一个模糊的问题 - 这是将要发生的时期。如果这是一个很大的问题,你需要聘请某人进行安全审计。
到目前为止,每个人都提出了一个很好的观点 - 听听他们。同时输入error_reporting(0);例如,正如Matthew建议的那样,在您的代码中,它取消了在网站中查找漏洞的最简单方法之一。
答案 3 :(得分:1)
修改php.ini
以包含以下列表中的设置。这不是完整的清单,但应该足够公平。
register_globals = Off
allow_url_fopen = Off
display_errors = On
log_errors = On
html_errors = Off
expose_php = Off
safe_mode = On
disable_functions = show_source,
system,
shell_exec,
passthru,
exec,
phpinfo,
popen,
proc_open