1Next >
wan1201 | 发表于:11-09-30 16:33 [添加收藏] 楼主 [回复] #Top# |
---|---|
人气:25
积分:19
金币:160
|
PHP勿庸置疑是非常强大的服务器端脚本语言,但是强大的功能总是伴随着重大的危险,在这章里,你将学习到使用PHP的安全模式来阻止一些PHP潜在的危险因素。 【 安全模式 】 PHP的安全模式提供一个基本安全的共享环境,在一个有多个用户帐户存在的PHP开放的Web服务器上。当一个Web服务器上运行的PHP打开了安全模式,那么一些函数将被完全的禁止,并且会限制一些可用的功能。 [ 使用安全模式来强制限制 ] 在安全模式下,一些尝试访问文件系统的函数功能将被限制。运行Web服务器用户ID,如果想要操作某个文件,则必须拥有该文件读取或者写入的访问权限,实现这个限制功能对于PHP来说是没有问题的。 在 安全模式开启的时候,尝试读取或者写入一个本地文件的时候,PHP将检查当前访问用户是否是该目标文件的所有者。如果不是所有者,则该操作会被禁止。(写 当安全模式打开的时候,以下函数列表的功能将会受到限制: chdir , move_uploaded_file, chgrp, parse_ini_file, chown, rmdir, copy, 同样的,一些PHP扩展中的函数也将会受到影响。(加载模块:在安全模式下dl函数将被禁止,如果要加载扩展的话,只能修改php.ini中的扩展选项,在PHP启动的时候加载) 在PHP安全模式打开的时候,需要执行操作系统程序的时候,必须是在safe_mode_exec_dir选项指定目录的程序,否则执行将失败。即使允许执行,那么也会自动的传递给escapeshellcmd函数进行过滤。 以下执行命令的函数列表将会受到影响: exec, shell_exec, passthru, system, popen 另外,背部标记操作符(`)也将被关闭。 当运行在安全模式下,虽然不会引起错误,但是 putenv 函数将无效。同样的,其他一些尝试改变PHP环境变量的函数set_time_limit, [ 打开安全模式 ] 打开或者关闭PHP的安全模式是利用php.ini中的safe_mode选项。如果要激活安全模式给当前所有共享Web服务器的用户,只要设置配置选项为:safe_mode [ 隐藏PHP ] 你能够在php.ini里使用 expose_php 选项来防止Web服务器泄露PHP的报告信息。如下:expose_php = OpenSSL/0.9.7c在 expose_php 选项打开以后,PHP的版本信息将不包含在上面的头信息里。当然,用户访问网站的时候同样能够看到 [ 文件系统安全 ] 安全模式限制了脚本所有者只能访问属于自己的文件,但是你可以使用 open_basedir [ 数据库安全 ] 假设你的PHP脚本中包含一个基于表单值来执行的Mysql查询:$sql = “UPDATE mytable SET col1 = ” .
Ta最近还发表过
[其他]
生活故事
(11-10-18)
[分享]
PHP的安全模式
(11-10-11)
[其他]
两岁女儿的童言无忌
(11-10-06)
[分享]
PHP 函数
(11-09-30)
[其他]
孕妇趣事
(11-09-29)
随机阅读
[分享]
大家中午好,我是新来的。
(13-02-18)
[疑问]
为什么后台新增栏目,无法生成列表页?
(12-11-12)
[分享]
实例分析新站获取关键字排名的因素
(12-02-14)
[分享]
本周会发布PHP6 sp2
(11-10-17)
[疑问]
网站上传到服务器的二级目录时,链接地址就不对了
(11-09-16)
|
cwwqsz | 发表于:11-10-01 01:18 沙发 [回复] #Top# |
---|---|
人气:0
积分:68
金币:20
|
学习了
|
fansxiao | 发表于:11-10-11 07:55 板凳 [回复] #Top# |
---|---|
人气:0
积分:47
金币:30
|
学习了
|
1Next >