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...相关推荐
- 嵌入式linux文件系统格式,嵌入式Linux的文件系统分区及数据读写方法与流程
本发明涉及Linux系统的数据存储管理领域,特别是涉及一种基于NANDFlash存储器和UBIFS文件系统的嵌入式Linux的文件系统分区及数据读写方法. 背景技术: ::目前Linux操作系统由于源 ...
- Exynos4412 文件系统制作(三)—— 文件系统移植
根文件系统一直以来都是所有类Unix操作系统的一个重要组成部分,也可以认为是嵌入式Linux系统区别于其他一些传统嵌入式操作系统的重要特征,它给Linux带来了许多强大和灵活的功能,同时也带来了一些复 ...
- Linux 文件系统与设备文件系统 (二)—— sysfs 文件系统与Linux设备模型
提到 sysfs 文件系统 ,必须先需要了解的是Linux设备模型,什么是Linux设备模型呢? 一.Linux 设备模型 1.设备模型概述 从2.6版本开始,Linux开发团队便为内核建立起一个统一 ...
- html云文件系统,一种HTML5云文件系统
一种HTML5云文件系统 胡岘 易晓东 戴华东 国防科技大学计算机学院 湖南 410073 摘要:本文提出了一种HTML5云文件系统,使得HTML5应用能够像访问传统文件系统一样访问云存储.HTML5 ...
- linux不同用户移动文件系统,第三节 linux:文件系统以及文件操作命令
有一句话: linux上一切皆文件 1文件系统 操作系统3大模块:进程管理,内存管理,文件系统 1.1定义:文件系统是操作系统在存储设备上组织管理文件的方法. 1.2不同操作系统文件系统不同,简单来说 ...
- linux文件系统的基本特征,Linux文件系统的基本结构
Linux文件系统结构 通过下面两张图片来认识一下Linux文件系统的结构. 当前工作目录 实践: 文件名称 这些规则不仅适用于文件,也适用于文件夹. 实践: ls命令 ls命令表示列出当前工作目录的 ...
- linux 开机 找不到 文件系统 下载文件系统就好了,根文件系统构建和实验过程
1.1.根文件系统构建路线 1.先逐步构建文件夹形式的根文件系统然后在制作烧录镜像 2.1.busybox移植实战 1.busybox中是一些shell命令集 2.busybox××× (1)busy ...
- Hadoop分布式文件系统(HDFS)之文件系统(详细版)
交朋友增体面,不如交朋友益身心 教子弟求显荣,不如教子弟立品行 推荐书目电子版下载 Hadoop必读书目(精选) 本文参考文献包含于上述书籍 HDFS快速入门 Hadoop分布式文件系统(HDFS)快 ...
- 【文件系统制作】制作jffs文件系统
最近在写专利,中期答辩前的必备材料还差一篇论文......抽一个周五的晚上来完善一下之前留下的坑,慢慢来吧,先把这些弄完,希望可以在下月中旬之前把论文弄好,然后专心学习...好运 1.Linux根文件 ...
最新文章
- CMake基础 第8节 包含第三方库
- div中的table内容过多时不超出div的范围解决方法
- mp4v2 写mp4 java_使用mp4v2将H264+AAC合成mp4文件
- Java实现将二进制文件显示为图片(SU中的ximage)
- 《从问题到程序:用Python学编程和计算》——2.4 字符串
- xcode 不能选择模拟器
- Ubuntu彻底卸载MySQL
- 有限自动机字符串匹配
- 3D动画在线播放工具-3dplayer功能演示
- 更新显示服务器同步出错,win10系统同步internet时间总是提示同步时出错的解决方案...
- 企业内部控制管理与全面风险管理体系建设知识问答
- 阿里云网盘内测申请_33期——阿里云网盘之内测申请(一)
- mysql increment_mysql中auto_increment是干什么的?
- 怎么实现使用手机号、邮箱、用户名登录
- LaTex 数学之运算符
- 系统镜像的方法,大批量电脑重装的方法
- 计算机系技能大赛策划案,计算机基本技能大赛”活动策划书
- 南加州计算机硕士学费,2016年度美国南加州大学排名及研究生学费费用简介.pdf...
- 在stm32f103c8上移植nuttx系统
- android app代码审计,常规漏洞/缺陷整理(持续更新)
热门文章
- 函数调用基础概念原理
- gazebo入门_Gazebo仿真控制中,有哪些你不知道的秘密?
- html弹窗超链接,点出超链接弹出一个小窗口
- qq远程控制电脑方法_【技术分享】教你远程控制别人电脑
- amp sqlserver中 什么意思_sql server中创建表时各个数据类型时什么意思??
- vue中安装sass
- java集合体检套餐管理系统_体检套餐管理系统
- excel中怎样用公式获取表单控件_老会计不愿教的工资表汇总公式,真是太好用了...
- QString之simplified()含义
- Android开发之无bug滑动删除源码(非第三方库)