当前位置:首页 > 技术杂坛 > 正文内容

windows服务器php安全设置

zhangchap5年前 (2019-01-21)技术杂坛1695
在IIS上构建PHP网站的这一阶段,请考虑加强安全性所需的PHP配置设置,Web服务器设置和PHP应用程序设置。
完成这些任务后,请记录您的设计决策,然后再继续执行步骤1:安装IIS和PHP。
1.安全的PHP配置设置

PHP的动态功能还使其成为潜在的安全风险,因为可以从Internet上的任何位置主动获取,接收和处理数据。攻击者可能会尝试发送恶意数据和脚本,并欺骗您的服务器获取恶意脚本并运行它们。攻击者还可能尝试在您的服务器上读取和写入文件,以控制该网站并将其用于自己的目的。

您可以配置PHP设置以加强PHP安装的安全性,并帮助保护网站免受恶意攻击。 Php.ini文件指定PHP在您的网站上运行时使用的配置设置。 Php.ini文件确定允许哪些PHP脚本执行和禁止执行。

本节介绍有助于保护PHP应用程序的配置设置。
禁用远程URL的文件处理
allow_url_fopen = Off
allow_url_include = Off
此设置非常重要,因为它可以防止在include()等语句中使用URL。将allow_url_fopen设置为“Off”意味着只能包含驻留在您网站中的文件。您不能包含来自其他服务器的文件,但其他人也不能通过远程文件包含(RFI)攻击。在RFI攻击中,有人在HTTP请求中嵌入了一个URL,希望您的脚本被欺骗运行他们的脚本。例如,不允许执行诸如include("http://website.com/page.php") 之类的命令。
通过指定路径和文件名,在您自己的站点中包含文件。例如,如果您有一个URL包含行,请将其转换为:
include($_SERVER['DOCUMENT_ROOT'] . '/page.php');

代码段$ _SERVER ['DOCUMENT_ROOT']是设置为站点根文件夹的超全局变量。 (请注意,没有后面的“/”;您必须在'/page.php'中提供前导“/”。)

如果您想要包含其他一个网站的静态内容,例如
include("http://website.com/page.php")
,请在当前网站上制作该内容的副本,然后将其包含在本地。

禁用Register_Globals

register_globals = Off


此设置使攻击者难以将代码注入脚本。例如,在URL http://site.com/index.php?variable=value中,当register_globals为On时,变量将传递到脚本中,其值设置为value。但是,当register_globals为Off时,变量不会自动传递到脚本的变量列表中。
限制文件系统读/写

限制文件系统读/写

open_basedir = "c:\inetpub\"
此设置限制PHP脚本访问指定基目录之外的文件。


禁用安全模式

safe_mode =关闭
safe_mode_gid =关闭
此设置限制PHP脚本运行的权限。当safe_mode设置为“On”时,某些第三方脚本无法正常运行。请注意,从PHP 6开始,safe_mode已弃用。

限制脚本执行时间
max_execution_time = 30
max_input_time = 60

这些设置控制允许脚本运行和解析用户输入的秒数。这些设置有助于防止恶意脚本注入服务器。

限制内存使用和文件大小
memory_limit = 16M
upload_max_filesize = 2M
post_max_size = 8M
max_input_nesting_levels = 64

这些设置有助于有效管理内存和输入/输出。此外,它们可以防止恶意脚本占用内存和处理大量文件。


配置错误记录

display_errors = Off
display_startup_errors = Offlog_errors = On
error_log = "C:\path\of\your\choice"

这些设置指定将所有错误和警告记录到错误日志文本文件中,并指定在从服务器发出的任何网页上都不会显示任何错误或警告。错误不应公开显示,因为它们可以帮助某人弄清楚如何攻击您的服务器。在测试新代码时,请务必检查错误日志

启用FastCGI模拟
此设置使IIS能够模拟调用客户端的安全性令牌,并定义用于运行请求的安全性上下文。


禁用FastCGI日志记录
fastcgi.logging = 0

当PHP使用FastCGI协议在stderr上发送任何数据时,FastCGI模块将使请求失败。禁用FastCGI日志记录将阻止PHP通过stderr发送错误信息,并为客户端生成500个响应代码。

隐藏PHP存在
expose_php = Off

使用此设置,伴随传出页面的标头
分享给朋友:

相关文章

destoon任意页面调用公司介绍

{php $r = userinfo($username);} <!--{php $tags=tag("table=company_data&condition=userid=...

10 个用于格式化、组织和整理 CSS 代码的免费工具

10 个用于格式化、组织和整理 CSS 代码的免费工具

如果您是一位经验丰富的网页设计师,您可能不会遇到这个问题。您的 CSS 文件将结构连贯且简洁;每个选择器都将被仔细放置,每个属性都将被完美格式化……您的 CSS 将看起来像精心制作的艺术品。如果这描述...

python计算字符串相似度总结

1、距离计算包的安装:pip install python-Levenshteinlevenshtein编辑距离(Edit Distance),又称Levenshtein距离,...

widow下elasticsearch的启动

widow下elasticsearch的启动

找到 elasticsearch的安装路径,进入bin目录:D:\elasticsearch\bin在其路径栏 输入 cmd进入doc命令窗口,自动切换到 当前路径然后输入 elasticsearch...

elasticsearch相关概念

集群:有多台服务器,每台服务器都运行这ESindex:索引,相当于数据库index_type:"_doc" # 数据表document:数据信息mapping映射字段类型:bina...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。