《Web开发过滤JavascriptHTML的方法》

Posted likar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Web开发过滤JavascriptHTML的方法》相关的知识,希望对你有一定的参考价值。

JavaScript过滤方法:

第一种方案:使用 htmlspecialchars 函数转换特殊字符和使用 nl2br 函数插入一些必要的 <br /> 标签。

1 $comment = <<<eof  
2 <script type="text/javascript">  
3 while (true) {  
4     alert(‘我弹!‘);  
5 }  
6 </script>  
7 eof;  //假如 $comment 就是评论内容  
8 $comment = nl2br(htmlspecialchars($comment)); //过滤javascript代码  
9 echo $comment;

输出结果为:

&lt;script type=&quot;text/javascript&quot;&gt;<br />
while (true) {<br />
    alert(‘我弹!‘);<br />
}<br />
&lt;/script&gt;

 

第二种方案:把评论内容中出现的所有的<script...>,</script>去掉。

1 $comment = preg_replace("/<[^><]*script[^><]*>/i",‘‘,$comment); //把评论内容中出现的所有的<script...>,</script>去掉  

输出结果为:

while (true) {  
    alert(‘我弹!‘);  
}  

 

HTML过滤方法:

第一种方案:直接把<>这样的符号转义掉,或者直接删除掉都是可以的。

1 $comment = preg_replace("/<[\/\!]*?[^<>]*?>/si",‘‘,$comment);  

 

第二种方案:使用 strip_tags() 函数即可。

1 <?php
2 echo strip_tags("Hello <b>world!</b>");
3 ?>

 

以上是关于《Web开发过滤JavascriptHTML的方法》的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不直接在 Javascript 和 Javascript HTML 模板中构建整个 Web 应用程序?

web前端开发需要学习啥知识

Selenium:操作Cookie调用JavaScriptHTML5的视频播放

JSP中用filter 过滤某个包中的所有servlet

Filter过滤器的应用

Java Web学习总结(12)Filter过滤器