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

windows服务器php安全设置

zhangchap5年前 (2019-01-21)技术杂坛1701
在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批量修改分类seo标题、关键词、描述、模板sql语句

用阿里云rds修改数据库自动生成的语句,可以批量修改,在此记录一下,以备后用! destoon批量修改分类seo标题、关键词、描述sql语句: update `d...

mysqldump远程数据库备份直接导入本地数据库

mysqldump -h rm-m5e4065l86g45hc6q.mysql.rds.aliyuncs.com --set-gtid-purged=off -uroot114 -p --opt --...

WPS 专业版及激活码

官网下载地址: https://ep.wps.cn/download 激活码如下:...

python正则替换替换文本特殊字符和html代码

import re h2 = '「新裤子/痛仰/陈粒/达达」2021贵阳草莓音乐节全阵容公布!' h2 = re.sub(r...

python运行js代码的几种方式:subprocess、execjs

一、subprocess 模块import subprocess ret = subprocess.check_output(['node','...

多线程代理ip切换实例

# -*- coding:utf-8 -*- """ 多线程代理ip切换实例 """ from&nbs...

发表评论

访客

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