php 防护xss,PHP的防御XSS注入的终极解决方案


Posted in PHP onApril 01, 2021

PHP的防御XSS注入的终极解决方案【信息安全】【Hack】

一:PHP直接输出html的,可以采用以下的方法进行过滤:

1.htmlspecialchars函数

2.htmlentities函数

3.HTMLPurifier.auto.php插件

4.RemoveXss函数(百度可以查到)

二:PHP输出到JS代码中,或者开发Json API的,则需要前端在JS中进行过滤:

1.尽量使用innerText(IE)和textContent(Firefox),也就是jquery的text()来输出文本内容

2.必须要用innerHTML等等函数,则需要做类似php的htmlspecialchars的过滤(参照@eechen的答案)

三:其它的通用的补充性防御手段

1.在输出html时,加上Content Security Policy的Http Header

(作用:可以防止页面被XSS攻击时,嵌入第三方的脚本文件等)

(缺陷:IE或低版本的浏览器可能不支持)

2.在设置Cookie时,加上HttpOnly参数

(作用:可以防止页面被XSS攻击时,Cookie信息被盗取,可兼容至IE6)

(缺陷:网站本身的JS代码也无法操作Cookie,而且作用有限,只能保证Cookie的安全)

3.在开发API时,检验请求的Referer参数

(作用:可以在一定程度上防止CSRF攻击)

(缺陷:IE或低版本的浏览器中,Referer参数可以被伪造)

更多PHP相关知识,请访问PHP教程!

PHP 相关文章推荐
用PHP调用Oracle存储过程
Oct 09 PHP
PHP新手上路(十)
Oct 09 PHP
php增删改查示例自己写的demo
Sep 04 PHP
php中通过数组进行高效随机抽取指定条记录的算法
Sep 09 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
浅析PHP中strlen和mb_strlen的区别
Aug 31 PHP
php提示Failed to write session data错误的解决方法
Dec 17 PHP
PHP生成器简单实例
May 13 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
Apr 11 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
Sep 23 PHP
PHP-FPM运行状态的实时查看及监控详解
Nov 18 PHP
php libevent 功能与使用方法详解
Mar 04 PHP
WordPress多语言翻译插件 - WPML使用教程
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
微信小程序和php的登录实现
Apr 01 #PHP
PHP新手指南
PHP命令行与定时任务
Apr 01 #PHP
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
Apr 01 #PHP
如何判断微信付款码和支付宝付款码
Apr 01 #PHP
You might like
PHP和XSS跨站攻击的防范
2007/04/17 PHP
php格式化日期和时间格式化示例分享
2014/02/24 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
如何解决PHP获取不到SESSION信息之一般情况
2019/10/10 PHP
Mootools 1.2教程 函数
2009/09/15 Javascript
提升你网站水平的jQuery插件集合推荐
2011/04/19 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
使用javascript做的一个随机点名程序
2014/02/13 Javascript
jQuery性能优化的38个建议
2014/03/04 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
分享一个精简的vue.js 图片lazyload插件实例
2017/03/13 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
Python判断直线和矩形是否相交的方法
2015/07/14 Python
Python实现新浪博客备份的方法
2016/04/27 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
2016/12/15 HTML / CSS
adidas美国官网:adidas US
2016/09/21 全球购物
成人毕业生自我鉴定
2013/10/18 职场文书
庆元旦文艺演出主持词
2014/03/27 职场文书
高二学生评语大全
2014/04/25 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
2014年“向国旗敬礼”网上签名寄语活动方案
2014/09/27 职场文书
小学运动会加油稿
2015/07/22 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书
python通过函数名调用函数的几种方法总结
2021/06/07 Python
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技
python在package下继续嵌套一个package
2022/04/14 Python