文章转自:https://learnku.com/php/t/27016背景PHP安全测试中最繁琐的工作之一就是检查不安全的PHP配置项。作为PHP安全海报的后续版本,我们创建了一个脚本来帮助系统管理员(如安全专业人员)尽可能快速、全面地评估php.ini和相关主题的状态。在下文中,此脚本称为“PHP安全配置项检查器”或pcc。https://github.com/sektionein...concept一个易于分发的文件,对每个与安全相关的ini条目进行简单测试包含一些其他测试-但不太复杂与PHP>=5.4或>=5.0兼容否复杂/过度设计的代码,例如没有类/接口、测试框架、类库等。乍一看应该很明显——即使是新手——如何使用该工具以及它的用途。没有(或很少)依赖项来使用/安装CLI:只需调用phpphpconfigcheck.php。然后,添加参数-a可以更好的查看隐藏结果,-h以HTML格式输出,-j以JSON格式输出。WEB:将此脚本文件复制到服务器上任何可访问的目录,如根目录。请参阅下面的“注意事项”。在非CLI模式下默认以HTML格式输出。可以通过修改环境变量PCC_OUTPUT_TYPE=text或PCC_OUTPUT_TYPE=json来更改此行为。一些测试用例默认是隐藏的,特别是skipped、ok和unknown/untested。要显示所有结果,可以使用phpconfigcheck.php?showall=1,但这不适用于JSON输出,它默认返回所有结果。在WEB方式下使用phpconfigcheck.php?format=...控制输出格式。format的值可以是text、html或json之一,例如:phpconfigcheck.php?format=text。格式参数优先于PCC_OUTPUT_TYPE。安全措施在大多数情况下,最好自己处理与安全相关的问题,例如PHP配置。该脚本实施了以下安全措施:mtimecheck:该脚本在非CLI环境中只能运行两天。可以通过触摸phpconfigcheck.php或通过再次将脚本文件复制到您的服务器(例如通过SCP)来再次执行mtime检查。可以通过设置环境量:PCC_DISABLE_MTIME=1来关闭mtime检查,比如在apache.htaccess文件中设置SetEnvPCC_DISABLE_MTIME1。源IP检查:默认只有localhost(127.0.0.1和::1)可以访问这个脚本。其他主机可以通过在PCC_ALLOW_IP中添加IP地址或通配符表达式来访问该脚本,例如在.htaccess文件中设置SetEnvPCC_ALLOW_IP10.0.0.*。您还可以选择通过SSH端口转发访问您的Web服务器,例如ssh-D或ssh-L。下载您可以通过github下载第一个完整的开发版:https://github.com/sektionein...如果您有好的建议或者遇到bug,请提交issue给我们:列表截图HTML输出是基于问题的严重性所有建议的排序、颜色编码列表。列表顶部的状态行显示问题数。请注意,此工具只能用于支持您构建安全的PHP环境,除此之外别无他用。您的设置、软件或任何相关配置可能仍然容易受到攻击,即使该工具的输出表明并非如此。文章转自:https://learnku.com/php/t/27016更多文章:https://learnku.com/laravel/c...
