引言哎,想要做到安全,真的很难。大多数时候还真不知道怎么下手,而至于安全性所带来的效果,也总是模糊不清。这也难怪那么多开发者不重视安全性。下面提供一个PHP安全最佳实践的列表,帮助大家厘清一些安全需要注意的点。1-筛选并验证所有数据无论数据来自何处,无论是配置文件、服务器环境、GET和POST,还是其他任何地方,都不要信任它。过滤+验证!可以使用高效可用的库来实现,比如zend-inputfilter。2-使用参数化数据库查询为了避免SQL注入攻击,永远不要用外部数据链接或插入SQL字符串。而是使用参数化查询和准备好的语句。这些可以与特定的第三方库一起使用,也可以使用PDO。3-设置open_basediropen_basedir指令限制PHP可以从open_basedir目录向下访问文件系统的文件。不能访问该目录之外的任何文件或目录。这样,如果恶意用户试图访问敏感文件,比如/etc/passwd,访问将被拒绝。4-检查您的SSL/TLS配置通过定期扫描,确保服务器的SSL/TLS配置是最新的和正确配置的,并且没有使用弱密码、过时的TLS版本、没有弱密钥的有效安全证书等。5-使用TLS或公钥连接到远程服务在访问任何数据库、服务器或远程服务(如Redis、Beanstalkd或Memcached)时,坚持使用TLS或公钥。这样做可以确保只允许经过身份验证的访问,并且对请求和响应进行加密,并且不会以明文传输数据。6-不要在header中发送敏感信息默认情况下,PHP将在HTTPheader中设置版本号。一些框架也是这么做的。7-能写的尽量都写上日志无论您是否记录失败的登录尝试、密码重置或调试信息,都要确保您记录的是易于使用的成熟包,比如Monolog。8-要有内容安全策略无论你是只有一个页面、静态网站、大型静态网站,还是复杂的基于web的应用程序,都要实现内容安全策略。它有助于缓解一系列常见的攻击,比如XSS。写在最后当应用上规模之后,这些都用得到。别说一直都在开发小应用,小数据量的系统,想要进阶,系统安全很考验开发人员的功底哦。Happycoding:)
转载请注明:http://www.aierlanlan.com/rzdk/7615.html