PHP 安全攻防,实体转义
来源:互联网 发布:软件防火墙通过 编辑:程序博客网 时间:2024/05/18 02:16
一、恶意攻击
Post灌水: 解决:加入隐藏字段 <input type="hidden" name="po" value="va" >
验证码。验证码不显示的原因:1.编码:utf-8; 2. header('Content-type:image/png'); header头前面不允许有空格,在所有<?php ?>两端不能有多余的空格。
二、Sql注入
Post请求:表单中输入特殊字符 如:单引号。 解决:1.加密,md5。 2.转义单引号:站在php的角度用 addslashes()函数;站在mysq的角度用 mysql_real_escape_string()函数
Get请求:自行构造url,提交 加入关键字 or 1#。 解决:1.过滤关键字 or: 转换成int类型: (int)变量 变量+0 intval()函数
三、Xss攻击
脚本(Html)注入: <sctipt></script> </table> 等。解决:1.实体转义 htmlspecialchars()函数、htmlentities()函数
注意:针对用户提交的所有数据(POST数据),都要进行实体转义。
批量实体转义辅助函数:
<?php//批量实体转义function deepspecialchars($data){if (empty($data)) {return $data;}//中高级程序员的写法return is_array($data) ? array_map('deepspecialchars',$data) : htmlspecialchars($data);/*//初级程序员的写法if (is_array($data)) {foreach ($data as $k => $v){$data[$k] = deepspecialchars($v);}return $data;} else {//单个变量return htmlspecialchars($data);}*/}
阅读全文
0 0
- PHP 安全攻防,实体转义
- PHP 安全:过滤、验证和转义
- PHP针对HTML实体字符的转义函数
- NoSQL安全攻防战
- html5 安全攻防
- 【链接】iOS安全攻防
- iOS安全攻防
- iOS 安全攻防系列
- iOS安全攻防
- Android 安全攻防
- JSONP 安全攻防技术
- 一点安全攻防
- iOS之安全攻防
- WIFI安全攻防
- iOS安全攻防-砸壳
- iOS安全攻防
- 网络系统漏洞安全攻防
- iOS安全攻防-键盘安全
- PAT1020. Tree Traversals (25)(已知中序后序求层序)
- ubantu 16.04 安装 tensorflow cuda ...
- 初入IT界之菜鸟心声
- java.util.date源码分析
- jQuery 效果
- PHP 安全攻防,实体转义
- 【算法】之动态规划
- poj2513——Colored Sticks
- HDU2072单词数
- scikit-learn 中文文档-特征提取-用户指南|ApacheCN
- [BZOJ]3203 [SDOI2013] 保护出题人 三分
- Angular学习
- Elasticsearch 5.x 生产数据的灾备和恢复
- Tomcat基础