求这样的一个函数,自己经验不足实在写不出来请大家帮忙 我的网站前台需要用户提交一些新闻或者资料什么的,前台我用的html编辑器是普通的html编辑器(我不想用ubb标签,也不会用),我现在想问大家的是如果前台提交的文本充许html的话,这样我的网站还安全吗?有什么办法没有啊?想问大家如何前台充许用户提交带html标签的文本,一般用什么样的函数来检查其安全性呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你去mop看看,他都过滤了什么html标签吧。某些html标签是可以让用户使用的,比如改字体颜色什么的。但某些:如<meta>,<button>,还有那一系列触发事件,以及js标签必须过滤。记得以前mop过滤的就不严格,有方法可以将js代码插进来。你直接回复个<script>while(1==1){alert('xxx')}</script>谁也进不来这贴了 你可以去查下XSS(Cross Site Scriping)相关的知识,应该对你有很大的作用。 我现在想问大家的是如果前台提交的文本充许html的话,这样我的网站还安全吗?有什么办法没有啊? ============================================================================不安全,比如说随便加个iframe,然后指定到哪某个页面,或者加段js,种上木马.想问大家如何前台充许用户提交带html标签的文本,一般用什么样的函数来检查其安全性呢?=============================================正则不允许用户提交形如 <script> <iframe>等的标签. preg_replace()str_replace()这两个函数深入了解应该就不会有以上困惑了 这两个函数我会用,但不知道需要删除哪些危险的html标签呢? 就是替换撒,第二个是正则替换大概要替换的就是 < > 单引号' $ : 还有一些PHP的基础符号正则替换就麻烦点,UBB代码就是以正则替换为基础的假如学过ASP就知道ASP必须过滤用户输入的文本,因为ASP不太严谨,PHP好歹还会给代码<>间加个魔术符号\,防止用户写入可执行代码比如别人是<script src='http://xxxxx.js'></script>这个放html代码里面就是可执行,页面不显示,假如是个含有恶意代码的JS,你不就惨了,替换掉<>为<>那么浏览器解析就是<script src....省略....>直接作为文本输出<script src='http://xxxxx.js'></script> 循环出$_SERVER,出现一大堆变量未定义。 菜鸟问题 请教一问题 页面传递隐藏域值清除问题? 在windows里怎么上传文件呀PHP.INI怎么设制呀 用session 存储数组? 救命呀,大哥们!!!!解决了立即结分 怎样捕获404错误并且加载预定页面? 新手用集成开发环境,安装后apache访问不了?? 如何打印出一个文件中所包含的类文件 求助XML文件处理 如何实现在表后追加记录?
============================================================================
不安全,比如说随便加个iframe,然后指定到哪某个页面,或者加段js,种上木马.想问大家如何前台充许用户提交带html标签的文本,一般用什么样的函数来检查其安全性呢?
=============================================
正则不允许用户提交形如 <script> <iframe>等的标签.
str_replace()这两个函数深入了解应该就不会有以上困惑了
大概要替换的就是 < > 单引号' $ : 还有一些PHP的基础符号
正则替换就麻烦点,UBB代码就是以正则替换为基础的
假如学过ASP就知道ASP必须过滤用户输入的文本,因为ASP不太严谨,PHP好歹还会给代码<>间加个魔术符号\,防止用户写入可执行代码
比如别人是<script src='http://xxxxx.js'></script>
这个放html代码里面就是可执行,页面不显示,假如是个含有恶意代码的JS,你不就惨了,替换掉<>为<>
那么浏览器解析就是<script src....省略....>
直接作为文本输出<script src='http://xxxxx.js'></script>