我是一名对在线安全一无所知的PHP / MySQL菜鸟。
你能指点我一些有助于我的知识的资源吗? (初学者级别,请!)
答案 0 :(得分:8)
我会建议两件事:
答案 1 :(得分:5)
This问题得到了很好的解答,涵盖了MySQL注入攻击(更常见的问题之一)。 This问题也有详细记录,并且很好地涵盖了XSS(跨站点脚本)攻击。
最后,了解PHP.INI以及如何设置它以及实际打开/关闭和打开/关闭的内容。例如,一个好主机永远不会打开寄存器全局,但你应该至少知道它是什么以及为什么要检查它。 PHP Security有资源和许多其他PHP安全问题。
答案 2 :(得分:1)
PHP可能不是最好的开始。特别是如果你主要是在手动编写自己的代码。它并不完全掌握安全问题。 (fd:我希望PHP会因各种原因而消失。)
但是一些一般规则:
<select>
并不意味着你会得到其中一个。 Javascript不是任何保证。参考者很容易被伪造。 POST数据很容易被伪造。文本框可以包含任何字符,而不仅仅是您期望的字符。mysql_real_escape_string()
将修复SQL注入,但是你必须记住在任何地方使用它。这会造成很多地方,你可能会犯错,忘记你逃避的仪式。使用预准备语句,问题完全消失。另一个例子:Pylons(一个Python框架)对其模板进行装配,因此任何变量都是HTML转义的,除非你明确地另外要求。 XSS不再是一个问题,我永远不必担心手动转义我打印的所有内容。答案 3 :(得分:1)
Chris Shiflett是PHP编程和安全的首选:
答案 4 :(得分:1)
如果你有时间,可以看一下几个月前conference at the Dutch PHP Conference期间Stefan Esser使用的幻灯片,标题是“面向初学者的PHP安全速成课程”。
有几个PDF:
那些可能会有所帮助。
然后,不要犹豫,搜索一下非特定于PHP的信息:一些安全问题(如XSS,SQL注入,CSRF,......)并非特定于PHP:只有技术手段才能避免它们是具体的;所以,您可以在维基百科或OWASP website
等网站上找到大量信息