本文主要是介绍php 愿望清单_最终PHP安全清单,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
php 愿望清单
该死的,但是安全性很难。 所需做的事情并不总是很明显,而良好安全性的收益充其量是模糊的。 当它不在我们的优先列表中时,谁会感到惊讶?
该安全清单旨在为开发人员提供可以遵循PHP安全最佳实践列表,以帮助提高其代码的安全性。
这是一些PHP安全检查表项目的一部分( 在 此处 阅读完整的检查表 )
筛选和验证所有数据
无论数据来自何处,无论是配置文件,服务器环境,GET和POST还是其他任何地方,都不信任它。 过滤并验证! 通过使用可用的库之一(例如zend-inputfilter)来执行此操作。
:
- Zend框架中的验证
- 在Symfony中进行验证
- Laravel中的验证
使用参数化查询
为避免SQL注入攻击,请勿将SQL字符串与外部数据连接或插入。 使用参数化查询代替预备语句。 这些可以与供应商特定的库一起使用,也可以与PDO一起使用。
学到更多:
- PDO中的准备好的语句和存储过程
- Mysqli预备语句
- PostgreSQL pg_query_params函数
设置open_basedir
open_basedir
指令限制了PHP可以从open_basedir
目录及更低版本访问文件系统的文件。 不能访问该目录之外的文件或目录。 这样,如果恶意用户尝试访问敏感文件(例如/etc/passwd
,则访问将被拒绝。
:
- open_basedir配置指令
- PHP文件系统安全
- DigitalOcean隔离的执行环境
检查您的SSL / TLS配置
通过定期扫描服务器,确保服务器的SSL / TLS配置是最新的且配置正确,并且未使用弱密码,TLS的过时版本,没有弱密钥的有效安全证书等。
:
- SSL实验室
- Mozilla的天文台
使用TLS或公钥连接到远程服务
当访问任何数据库,服务器或远程服务(例如Redis,Beanstalkd或Memcached)时,请始终使用TLS或公钥进行访问。 这样做可以确保仅允许经过身份验证的访问,并且对请求和响应进行加密,并且不会明文传输数据。
:
- 公钥基础结构和SSL / TLS加密
- 什么是SSL,TLS和HTTPS?
- SSL与TLS —有何区别?
不要在标题中发送敏感信息
默认情况下,PHP将在HTTP标头中设置其版本号。 一些框架可能也做同样的事情。
:
- 隐藏HTTP标头中PHP和Apache信息
记录所有事情
无论您是登录失败的登录尝试,密码重置还是调试信息,都请确保您正在登录,并使用易于使用且成熟的软件包(例如Monolog)。
:
- 独白
- PHP日志记录基础
制定内容安全政策
无论您是一个页面,静态网站,大型静态网站还是复杂的基于Web的应用程序,都应实施内容安全策略(CSP)。 它有助于减轻一系列常见的攻击媒介,例如XSS。
:
- 通过MDN Web文档的内容安全策略(CSP)
- 通过Google Chrome扩展程序文档的内容安全政策(CSP)
- CSP评估员
- 内容安全策略(CSP)验证程序
- 使用Sqreen轻松添加内容安全策略
想要更多? 在此处 查看完整清单
最初在 www.sqreen.io上 发布 。
翻译自: https://hackernoon.com/the-ultimate-php-security-checklist-eec9895f2fa3
php 愿望清单
这篇关于php 愿望清单_最终PHP安全清单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!