欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > php >内容正文

php

php 安全包含文件系统,PHP_PHP四大安全策略,一、文件系统安全php如果具有r - phpStudy...

发布时间:2023/12/15 php 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 php 安全包含文件系统,PHP_PHP四大安全策略,一、文件系统安全php如果具有r - phpStudy... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

PHP四大安全策略

一、文件系统安全

php如果具有root权限,且在脚本中允许用户删除文件,那么用户提交数据,不进行过滤,就非常有可能删除系统文件

// 从用户目录中删除指定的文件

$username = $_POST['user_submitted_name'];

$userfile = $_POST['user_submitted_filename'];

$homedir = "/home/$username";

unlink ("$homedir/$userfile");

echo "The file has been deleted!";

?>

上面的代码,假设用户提交的$userfile值是 ../etc/,那么/etc目录就会被删除

防范文件系统攻击,策略如下

只给php有限的权限

用户提交上来的变量要监测和过滤,不能包含文件路径等特殊字符

尽量避免使用PHP操作文件(删除),如果有这方面的需求,那用户可删除文件也必须是系统生成的随机名称,不可被用户控制

二、数据库安全数据库安全主要防范的是sql injection,即sql注入攻击,提升数据库安全的策略如下:

不用使用root帐号或者数据库所有者帐号连接数据库,连接数据库限定连接用户的ip

使用php的pdo扩展,有效防止sql注入,除了安全方面的优势,php的pdo扩展在性能方面有有很大优势

请参看 http://php.net/manual/en/pdo.prepared-statements.php

对一些敏感信息进行加密,常见的比如对密码进行加密

三、用户数据过滤对用户数据过滤,可以防范XSS和CSRF攻击

使用白名单(用户输入是固定模式)的方式

比如用户名只能使用数字字母,那么可以使用函数ctype_alnum判断

对用户输入使用函数 htmlentities或者htmlspecialchars进行处理,输入url不允许传入非http协议

用户身份验证使用令牌 token(csrf)

http://htmlpurifier.org/ HTML Purifier 是开源的防范xss攻击的有效解决方案,

四、其他安全策略线上环境关闭错误报告(error_reporting,dislay_erros,可在php.ini中配置error_log路径,记录错误信息,这样有助于发现可能的用户攻击)

Register Globals,弃用(移除)的特性,不要使用

魔术引号特性,不要开启,在PHP-5.4中已经被移除

尽量使用PHP的最新版本,最新版本修复了已知的很多安全漏洞和bug

代码中严格遵守上述策略,基本能保证代码不会有太多的安全漏洞,能防范常见攻击。相关阅读:

详解Android JS相互调用

js防止页面被iframe调用的方法

php实现使用正则将文本中的网址转换成链接标签

Java对时间的简单操作实例

javascript浏览器兼容教程之事件处理

jQuery选择器基础入门教程

CSS3实现的炫酷菜单代码分享

PHP遍历某个目录下的所有文件和子文件夹的实现代码

javascript生成随机颜色示例代码

JavaScript使用指针操作实现约瑟夫问题实例

MySQL SQL语句优化的10条建议

jQuery.deferred对象使用详解

javascript带回调函数的异步脚本载入方法实例分析

jQuery拖拽插件gridster使用指南

总结

以上是生活随笔为你收集整理的php 安全包含文件系统,PHP_PHP四大安全策略,一、文件系统安全php如果具有r - phpStudy...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。