php正则函数抓取网页连接(防止XSS的时机判断,让你明白XSS实质应该防止的位置)

优采云 发布时间: 2022-01-23 09:07

  php正则函数抓取网页连接(防止XSS的时机判断,让你明白XSS实质应该防止的位置)

  这里主要介绍防范XSS的时机,让大家了解应该防范XSS的位置。

  什么是 XSS 攻击

  是指恶意攻击者在网页中插入恶意html代码,当用户浏览网页时,嵌入网页中的html代码会被执行,从而达到恶意攻击用户的特殊目的。

  

  XSS是黑客和恶意用户常用的注入漏洞,也是网站的安全隐患

  以 Think PHP3.2 框架为例

  该框架旨在防止 XSS(跨站脚本,跨站脚本)危害。用户通过脚本脚本控制网页的行为。采用的策略:接收到浏览器端数据后,将数据转换成HTML实体编码

  这是框架的默认策略,很低,现在几乎不用

  当接收到数据时,实体编码转换完成。主要问题是“存储在数据库中的不是原创数据,而是经过处理的数据”。

  

  html实体编码数据

  目前的策略是:

  当数据输出到页面时,进行html实体编码转换。

  两者都使用 HTML 实体编码转换,但是时机不同。合理的策略是输出。不输入。

  原因:Script 脚本,只有在浏览器端运行时,才有执行意义。存储在数据库中,没有任何危害!

  数据库不知道用户实际输入了什么!

  计划:

  off, on input, 自动实体编码处理

  关闭默认过滤器

  

  默认过滤方法为空

  输出时,过滤可能注入的字段:

  在模板中完成:

  

  对必填字段添加过滤文章

  影响:

  在数据中,存储的是原创数据,不对数据进行转换和编码

  

  原创数据被保存

  在输出时,数据是实体编码的:

  

  详细解释太长了,再简单说一下Html编辑器中XSS的处理应该是另一种方式

  原因:

  其他字段,标题字段,输出时可以直接转换为实体标签。

  但是,用于描述这个 html 编辑器的内容。输出时不能直接转换。因为是html代码,所以对数据有意义。

  处理方案:将内容的脚本部分转化为实体。非脚本部分不被处理。

  完成:

  自定义过滤功能

  使用正则替换实现,只处理脚本标签

  

  定义为方法,需要选择的时候使用这个函数

  结果

  数据库中的数据:

  

  输出时:

  

  

  本文主要介绍XSS预防的时机。如需更多相关信息,请联系

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线