首页 > 编程地带 > 简单的过滤特殊字符!

简单的过滤特殊字符!

2007年10月22日 发表评论 阅读评论

今天又看了一点的PHP,有一个htmllentities函数,可以将所有的html元素转换为显示字符串,就想到了,我们用的UBB编辑器,还有其他的网页编辑器。。。

一共两个文件:

<br />/*message.php*/<br /><html><br /><body><br />   <form method="post" action="trim.php"><br />   <textarea name="message" cols="50" rows="5"></textarea><br />   <p><br />      <input type="submit" name="ok" value="提交">   <br />   </p><br />   </form><br /></body>
<br />/*trim.php*/<br /><?<br />   $html_str=htmlentities($_POST&#91;"message"&#93;,ENT_QUOTES,"UTF-8");<br />   echo $html_str;<br />?>

也不抓图了,可简单的一个过滤,结果是这样的:

&#92;"><script>alert(&#92;"woyigui&#92;")</script><&#92;"

但是,如果想让允许的元素执行,让一些特殊的字符过滤了,同时实现的情况下,我就不会了,只知道还有一个函数为:

html_entity_decode(源字符串&#91;,int quote_style&#91;,string charset&#93;&#93;)

可以将字符串转化为html元素,可以将上面trim.php中的htmlentities函数用这个函数替换了。

转载请注明:woyigui's blog [http://www.woyigui.cn/]
本文标题:简单的过滤特殊字符!
本文地址:http://www.woyigui.cn/2007/10/22/%E7%AE%80%E5%8D%95%E7%9A%84%E8%BF%87%E6%BB%A4%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6%EF%BC%81/

  1. 2009年9月28日10:39 | #1

    主要是在和数据库相关的操作中用到的

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
*