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

windows服务器php安全设置

zhangchap5年前 (2019-01-21)技术杂坛1704
在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

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

相关文章

在IIS 7输出缓存的作用

在IIS 7中配置输出缓存 适用于:Windows 7,Windows Server 2008,Windows Server 2008 R2,Windows Vista...

destoon标题过滤手机号

修改文件:\module\sell\my.inc.php 添加下列代码: // 过滤手机号 $pattern = '/0?(13|14|15|17|18|19)[0-9]{9}/'; $p...

宝塔一个站点如何绑定多个域名ssl证书?

宝塔一个站点如何绑定多个域名ssl证书?

1.如果网站不是自适应 2.程序不会在访问的时候自动判断客户端,返回不同的内容。(js跳转的不在这个范围内) 现在一个站点往往绑定至少两个域名,pc、m各一个,甚至频道有二级域名的话,那...

destoon数据库优化,实现单台几百万数据下秒级速度

今天看到一大神分享的文章,在此留个备份:  destoon7.0对mysql5..7优化,实现单台几百万数据下秒级速度,可以缓解吃内存的情况,希望对大家有帮助 记得要备份数...

json输出json.dumps中文为ascii编码如何解决?

import json print json.dumps('中国') 输出:"\u4e2d\u56fd" json.dumps(...

python函数开启多线程

from threading import Thread 以下是代码举例: def main(num):    &nbs...

发表评论

访客

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