全国服务热线:
0791-88196636

杭州代码建站:web开发PHP安全配置详细解读

 二维码 91268
发表时间:2020-12-15 10:43作者:南昌莫非网络科技公司来源:杭州代码建站网址:http://www.ncmofei.com

杭州代码建站:web开发PHP安全配置详细解读。

PHP勿庸置疑是非常强大的服务器端脚本语言,但是强大的功能总是伴随着重大的危险,在这章里,你将学习到使用PHP的安全模式来阻止一些PHP潜在的危险因素。

安全模式

PHP的安全模式提供一个基本安全的共享环境,在一个有多个用户帐户存在的PHP开放的Web服务器上。当一个Web服务器上运行的PHP打开了安全模式,那么一些函数将被完全的禁止,并且会限制一些可用的功能。

使用安全模式来强制限制

在安全模式下,一些尝试访问文件系统的函数功能将被限制。运行Web服务器用户ID,如果想要操作某个文件,则必须拥有该文件读取或者写入的访问权限,实现这个限制功能对于PHP来说是没有问题的。

在安全模式开启的时候,尝试读取或者写入一个本地文件的时候,PHP将检查当前访问用户是否是该目标文件的所有者。如果不是所有者,则该操作会被禁止。(写 入权限:在较低级别的文件访问权限下,可能会允许读取或者写入系统操作系统的文件,通过PHP的安全模式实现了防止你操作另外一个用户文件的操作。当然, 一个Web服务器可能能够访问一个具有全局写入权限的任意文件。)

当安全模式打开的时候,以下函数列表的功能将会受到限制:

chdir , move_uploaded_file, chgrp, parse_ini_file, chown, rmdir, copy, rename, fopen, require, highlight_file, show_source, include, symlink, link, touch, mkdir, unlink

同样的,一些PHP扩展中的函数也将会受到影响。(加载模块:在安全模式下dl函数将被禁止,如果要加载扩展的话,只能修改php.ini中的扩展选项,在PHP启动的时候加载)

在PHP安全模式打开的时候,需要执行操作系统程序的时候,必须是在safe_mode_exec_dir选项指定目录的程序,否则执行将失败。即使允许执行,那么也会自动的传递给escapeshellcmd函数进行过滤。

以下执行命令的函数列表将会受到影响:

exec, shell_exec, passthru, system, popen

另外,背部标记操作符(`)也将被关闭。

当运行在安全模式下,虽然不会引起错误,但是 putenv 函数将无效。同样的,其他一些尝试改变PHP环境变量的函数set_time_limit, set_include_path 也将被忽略。

打开安全模式

打开或者关闭PHP的安全模式是利用php.ini中的safe_mode选项。如果要激活安全模式给当前所有共享Web服务器的用户,只要设置配置选项为:safe_mode = On当函数在访问文件系统的时候将进行文件所有者的检查。缺省情况下,会检查该文件所有者的用户ID,当你能够修改文件所有者的组ID(GID)为 safe_mode_gid 选项所指定的。如 果你有一个共享库文件在你的系统上,当你碰到需要include或require的时候,那么你可以使用 safe_mode_include_dir 选项来设置你的路径,保证你的代码正常工作。(包含路径: 如果你想要使用 safe_mode_include_dir 选项包含更多的包含路径,那么你可以象 include_path 选项一样,在Unix/Linux系统下使用冒号进行分割,在Windows下使用分号进行分割)比如你想要在安全模式下包含 /usr/local/include/php 下的文件,那么你可以设置选项为:safe_mode_include_dir = /usr/local/include/php如果你的包含的文件是需要执行的,那么你可以设置 safe_mode_exec_dir 选项。比如你需要 /usr/local/php-bin 路径下的文件是可以执行的,那么可以设置选项为:safe_mode_exec_dir = /usr/local/php-bin(可执行:如果你执行的程序在 /usr/bin 目录下,那么你可以把这些的二进制文件,连接到你指定选项下能够执行的路径)如果你想设置某些环境变量,那么可以使用 safe_mode_allowed_env_vars 选项。这个选项的值是一个环境变量的前缀,缺省是允许 PHP_ 开头的环境变量,如果你想要改变,可以设置该选项的值,多个环境变量前缀之间使用逗号进行分割。比如下面允许时区的环境变量 TZ ,那么修改该选项的值为:safe_mode_allowed_env_vars = PHP_,TZ【 其他的安全特征 】除了安全模式以外,PHP还提供了许多其他许多特征来保证PHP的安全。

隐藏PHP

你能够在php.ini里使用 expose_php 选项来防止Web服务器泄露PHP的报告信息。如下:expose_php = On利用整个设置,你能够阻碍一些来自自动脚本针对Web服务器的攻击。通常情况下,HTTP的头信息里面包含了如下信息:Server: Apache/1.3.33 (Unix) PHP/5.0.3 mod_ssl/2.8.16

OpenSSL/0.9.7c在 expose_php 选项打开以后,PHP的版本信息将不包含在上面的头信息里。当然,用户访问网站的时候同样能够看到 .php 的文件扩展名。如果你想整个的使用不同的文件扩展名,你需要在 httpd.conf 中找到如下这行:AddType application/x-httpd .php你就可以修改 .php 为任何你喜欢的文件扩展名。你能够指定任意多个的文件扩展名,中间使用空格进行分割。如果你想在服务器端使用PHP来解析 .html 和 .htm 文件的时候,那么你设置选项如下:AddType application/x-httpd .html .htm(解析HTML:配置你的Web服务器使用PHP去解析所有的HTML文件,但是如果非服务器端代码也需要PHP去解析,会影响服务器的性能。静态页面你可以使用不同的扩展名,这样能够消除对PHP脚本引擎的依赖,增强性能。)

文件系统安全

安全模式限制了脚本所有者只能访问属于自己的文件,但是你可以使用 open_basedir 选现来指定一个你必须访问的目录。如果你指定了一个目录,PHP将拒绝访问除了该目录和该目录子目录的其他目录。open_basedir 选项能够工作在安全模式之外。限制文件系统只能访问 /tmp 目录,那么设置选项为:open_basedir = /tmp[ 函数访问控制 ]你能够在 disable_functions 选项中使用逗号分割来设定函数名,那么这些函数将在PHP脚本中被关闭。这个设置能够工作在安全模式之外。disable_functions = dl当然,同样的你能够使用 disable_classes 选项来关闭对一些类的访问。


企业新闻
关于南昌莫非网络科技公司2022年元旦放假安排通知.元旦:1月1日(星期六)至1月3号(星期一)放假,共计三天(无调休),1月4日(星期二)上班。
关于南昌莫非网络科技公司2021年国庆节放假安排通知。根据《国务院办公厅关于2021年部分节假日安排的通知》(国办发明电〔2020〕27号),结合我单位工作实际情况,现就2021年国庆放假的有关事项安排如下。
南昌莫非网络科技公司2021年中秋节放假通知.一、假期从:2021年09月19日到2021年09月21日结束,假期共3天(9月18日正常上班,9月26日正常休息)。二、如有紧急情况,请各位同仁及时配合相关部门主管人员把事情处理妥善。做好防火、防盗工作并督促各部门关好办公区域的门、窗等。
根据《国务院办公厅关于2021年部分节假日安排的通知》(国办发明电〔2020〕27号),结合我单位工作实际情况,现就2021年端午节放假的有关事项安排如下:一、放假时间:2021年6月12日(星期六)至2021年6月14日(星期一),共放假3天。
南昌莫非网络科技公司2021年五一劳动节放假通知.现就2021年五一劳动节放假的有关事项安排如下:一、放假时间,2021年5月1日(星期六)至2020年5月5日(星期三),共放假5天。4月25日(星期日)上班,5月6日(星期四)正常上班。
南昌莫非网络科技公司2021年清明节放假通知.2021年4月3日(星期六)-2021年4月5日(星期一)放假,共3天。4月6日(星期二)正常上班。放假期间,各项业务照常运行,售后问题您可以直接相关负责人提交服务单,技术人员将在12小时之内处理。
关于南昌莫非网络科技公司2021年春节放假安排通知.一、春节放假时间:2021年2月5日(农历腊月二十四)至2021年2月18日(农历正月初七)放假,共13天,2月19日(星期五)开始上班,2月21日星期日(农历正月初十)恢复正常上班。由于疫情,假期时间可能会有所变化,具体以通知为准。
关于南昌莫非网络科技公司2021年01月01日元旦放假通知。一、放假时间:2021年1月1日(星期五)至2021年1月3日(星期日)放假,共3天;2021年1月4日(星期一)正常上班。公司放假期间如有相关业务及服务事宜敬请拨打我司24小时服务热线:0791-8819-6636或咨询客服QQ:2401077293,可随时与我司进行联系。
南昌莫非网络科技公司2020年中秋节+国庆节放假通知。根据《国务院办公厅关于2020年部分节假日安排的通知》,为了让大家度过一个充实、平安的假期,现把2020年中秋国庆放假时间及温馨提示通知如下!
南昌莫非网络科技公司2020年五一放假通知.在过去的岁月里,南昌莫非网络科技公司与新老客户一直保持着愉快的合作,这离不开大家的鼎立支持和帮助。在未来的日子里还需要更多朋友们的支持与帮助,希望你们能始终如一的支持南昌莫非网络科技,并提出您宝贵的意见及建议。
南昌莫非网络科技公司2020年春节寒假放假安排通知。南昌莫非网络科技公司提前祝全国合作伙伴新春快乐、阖家幸福!预祝全体员工春节快乐!
南昌莫非网络科技公司2020年元旦节放假安排通知.元旦将至,南昌莫非网络科技公司预祝全体员工元旦快乐!现将2020年元旦节放假安排通告如下:一、放假时间:2020年1月1日,共1天。
网站建设行业方案
网站维护知识
网站制作常见问题
SEO网站优化教程
踏上云端,转型升级融入互联网时代,现在就联系我们吧!
——      我们时刻为你提供更多优质互联网技术服务      ——
姓名:
*
联系方式:
*
咨询项目:
内容:
*
在线留言
关于我们:南昌莫非文化传媒有限公司(简称:莫非传媒)专注于网站建设,网站SEO优化,小程序制作。提供全方位用户体验规划,品牌形象设计服务。为每一位企业客户的成长、腾飞助力!        网站建设、网站设计、网站制作、网站开发,就选网站建设公司-南昌莫非传媒!
扫一扫微信便捷交流
|
|
|
|
|
|
|
|
|
|
|
|
|
地址:江西省南昌市西湖区洪城路6号国贸广场A座巨豪峰
业务咨询  :  
272482065
售后服务 :
2401077293
服务热线:
0791-88196636
______________________________________________________________________________________________________________________________________________________________________________________________________