㈠ 用php過濾html部分標簽
$str=preg_replace("/\s+/", " ", $str); //過濾多餘回車
$str=preg_replace("/<[ ]+/si","<",$str); //過濾<__("<"號後面帶空格)
$str=preg_replace("/<\!--.*?-->/si","",$str); //注釋
$str=preg_replace("/<(\!.*?)>/si","",$str); //過濾DOCTYPE
$str=preg_replace("/<(\/?html.*?)>/si","",$str); //過濾html標簽
$str=preg_replace("/<(\/?head.*?)>/si","",$str); //過濾head標簽
$str=preg_replace("/<(\/?meta.*?)>/si","",$str); //過濾meta標簽
$str=preg_replace("/<(\/?body.*?)>/si","",$str); //過濾body標簽
$str=preg_replace("/<(\/?link.*?)>/si","",$str); //過濾link標簽
$str=preg_replace("/<(\/?form.*?)>/si","",$str); //過濾form標簽
$str=preg_replace("/cookie/si","COOKIE",$str); //過濾COOKIE標簽
$str=preg_replace("/<(applet.*?)>(.*?)<(\/applet.*?)>/si","",$str); //過濾applet標簽
$str=preg_replace("/<(\/?applet.*?)>/si","",$str); //過濾applet標簽
$str=preg_replace("/<(style.*?)>(.*?)<(\/style.*?)>/si","",$str); //過濾style標簽
$str=preg_replace("/<(\/?style.*?)>/si","",$str); //過濾style標簽
$str=preg_replace("/<(title.*?)>(.*?)<(\/title.*?)>/si","",$str); //過濾title標簽
$str=preg_replace("/<(\/?title.*?)>/si","",$str); //過濾title標簽
$str=preg_replace("/<(object.*?)>(.*?)<(\/object.*?)>/si","",$str); //過濾object標簽
$str=preg_replace("/<(\/?objec.*?)>/si","",$str); //過濾object標簽
$str=preg_replace("/<(noframes.*?)>(.*?)<(\/noframes.*?)>/si","",$str); //過濾noframes標簽
$str=preg_replace("/<(\/?noframes.*?)>/si","",$str); //過濾noframes標簽
$str=preg_replace("/<(i?frame.*?)>(.*?)<(\/i?frame.*?)>/si","",$str); //過濾frame標簽
$str=preg_replace("/<(\/?i?frame.*?)>/si","",$str); //過濾frame標簽
$str=preg_replace("/<(script.*?)>(.*?)<(\/script.*?)>/si","",$str); //過濾script標簽
$str=preg_replace("/<(\/?script.*?)>/si","",$str); //過濾script標簽
$str=preg_replace("/javascript/si","Javascript",$str); //過濾script標簽
$str=preg_replace("/vbscript/si","Vbscript",$str); //過濾script標簽
$str=preg_replace("/on([a-z]+)\s*=/si","On\\1=",$str); //過濾script標簽
$str=preg_replace("//si","&#",$str); //過濾script標簽,如javAsCript:alert(
清除空格,換行
function DeleteHtml($str)
{
$str = trim($str);
$str = strip_tags($str,"");
$str = ereg_replace("\t","",$str);
$str = ereg_replace("\r\n","",$str);
$str = ereg_replace("\r","",$str);
$str = ereg_replace("\n","",$str);
$str = ereg_replace(" "," ",$str);
return trim($str);
}
過濾HTML屬性
1,過濾所有html標簽的正則表達式:
復制代碼 代碼如下:
</?[^>]+>
//過濾所有html標簽的屬性的正則表達式:
$html = preg_replace("/<([a-zA-Z]+)[^>]*>/","<\\1>",$html);
3,過濾部分html標簽的正則表達式的排除式(比如排除<p>,即不過濾<p>):
復制代碼 代碼如下:
</?[^pP/>]+>
4,過濾部分html標簽的正則表達式的枚舉式(比如需要過濾<a><p><b>等):
復制代碼 代碼如下:
</?[aApPbB][^>]*>
5,過濾部分html標簽的屬性的正則表達式的排除式(比如排除alt屬性,即不過濾alt屬性):
復制代碼 代碼如下:
\s(?!alt)[a-zA-Z]+=[^\s]*
6,過濾部分html標簽的屬性的正則表達式的枚舉式(比如alt屬性):
復制代碼 代碼如下:
(\s)alt=[^\s]*
㈡ php 正則 怎麼寫
|<SCRIPT \b(?!.*\bsrc\s*=.*?\>)[^>]+>([^<]+)</SCRIPT>|is
㈢ php怎麼過濾
使用單獨一個模塊,這個模塊負責所有的安全處理。
這個模塊被包含在所有公開的 PHP 腳本的最前端(或者非常靠前的部分)。
參考下面的腳本security.inc
<?php
switch($_POST['form'])
{
case'login':
$allowed=array();
$allowed[]='form';
$allowed[]='username';
$allowed[]='password';
$sent=array_keys($_POST);
if($allowed==$sent)
{
include'/inc/logic/process.inc';
}
break;
}
?>
㈣ php 過濾掉html標簽及標簽內的所有內容
方法一:使用strip_tags()函數
strip_tags() 函數剝去字元串中的 HTML、XML 以及PHP的標簽。
使用案例:
$string = "<p>這里是潘旭博客</p>"
$newStr = strip_tags($string);
echo $newStr;
方法二:使用str_replace()函數
str_replace() 函數以其他字元替換字元串中的一些字元(區分大小寫)
使用案例:
$string = "<p>這里是潘旭博客</p>";
$newStr = str_replace(array("<p>","</p>"),array("",""));
echo $newStr;
另外還有一種是通過正則的方法,請參考:https://panxu.net/article/8385.html
㈤ php怎麼過濾script代碼和其他不安全的一些腳本代碼呢 本人剛學php,不懂哎,請各位朋友指點一下。
if(preg_match("/<script>/",$_POST['mima'])){
echo"輸入有誤";
}
㈥ PHP網站如何過濾頁面提交的<SCRIPT腳本
你是想過濾掉還是想按照字面輸出?
算了,都告訴你吧
1.過濾掉 strip_tags($content); 這個是所有標簽,都被去掉了
2.按照原樣顯示
htmlspecialchars($content);
感覺這個還是不錯的,推薦用這個,呵呵
㈦ 我做了一個留言板現在想用PHP過濾代碼,應該怎麼做呀詳細思路,謝謝!
function filterhtml($str)
{
$str=stripslashes($str);
$str=preg_replace("/\s+/", ' ', $str); //過濾多餘回車
$str=preg_replace("/<[ ]+/si",'<',$str); //過濾<__("<"號後面帶空格)
$str=preg_replace("/<\!--.*?-->/si",'',$str); //注釋
$str=preg_replace("/<(\!.*?)>/si",'',$str); //過濾DOCTYPE
$str=preg_replace("/<(\/?html.*?)>/si",'',$str); //過濾html標簽
$str=preg_replace("/<(\/?head.*?)>/si",'',$str); //過濾head標簽
$str=preg_replace("/<(\/?meta.*?)>/si",'',$str); //過濾meta標簽
$str=preg_replace("/<(\/?body.*?)>/si",'',$str); //過濾body標簽
$str=preg_replace("/<(\/?link.*?)>/si",'',$str); //過濾link標簽
$str=preg_replace("/<(\/?form.*?)>/si",'',$str); //過濾form標簽
$str=preg_replace("/cookie/si","COOKIE",$str); //過濾COOKIE標簽
$str=preg_replace("/<(applet.*?)>(.*?)<(\/applet.*?)>/si",'',$str); //過濾applet標簽
$str=preg_replace("/<(\/?applet.*?)>/si",'',$str); //過濾applet標簽
$str=preg_replace("/<(style.*?)>(.*?)<(\/style.*?)>/si",'',$str); //過濾style標簽
$str=preg_replace("/<(\/?style.*?)>/si",'',$str); //過濾style標簽
$str=preg_replace("/<(title.*?)>(.*?)<(\/title.*?)>/si",'',$str); //過濾title標簽
$str=preg_replace("/<(\/?title.*?)>/si",'',$str); //過濾title標簽
$str=preg_replace("/<(object.*?)>(.*?)<(\/object.*?)>/si",'',$str); //過濾object標簽
$str=preg_replace("/<(\/?objec.*?)>/si",'',$str); //過濾object標簽
$str=preg_replace("/<(noframes.*?)>(.*?)<(\/noframes.*?)>/si",'',$str); //過濾noframes標簽
$str=preg_replace("/<(\/?noframes.*?)>/si",'',$str); //過濾noframes標簽
$str=preg_replace("/<(i?frame.*?)>(.*?)<(\/i?frame.*?)>/si",'',$str); //過濾frame標簽
$str=preg_replace("/<(\/?i?frame.*?)>/si",'',$str); //過濾frame標簽
$str=preg_replace("/<(script.*?)>(.*?)<(\/script.*?)>/si",'',$str); //過濾script標簽
$str=preg_replace("/<(\/?script.*?)>/si",'',$str); //過濾script標簽
$str=preg_replace("/javascript/si","JAVASCRIPT",$str); //過濾script標簽
$str=preg_replace("/vbscript/si","VBSCRIPT",$str); //過濾script標簽
$str=preg_replace("/on([a-z]+)\s*=/si","ON\\1=",$str); //過濾script標簽
$str=preg_replace("//si","&#",$str); //過濾script標簽,如javAsCript:alert('aabb)
$str=addslashes($str);
return($str);
}
㈧ PHP 過濾HTML中除了img標簽外其它所有標簽,同時保留標簽內容,但<script>標簽內的內容都清除。
提供實例:
<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";
// 允許 <p> 和 <a>
echo strip_tags($text, '<p><a>');
?>
以上常式會輸出:
Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>
具體做法:
<?php
echo strip_tags($text, 'img');
?>
㈨ php如何處理html標簽
需要用到一個函數實現,htmlentities,就是將字元串轉換成html實體,用法你可以查一下php手冊,同時它還有個反函數,htmlspecialchars_decode
㈩ php中,在提交表單時,script代碼是通過什麼方式對網站進行破壞如何防止破壞
其實JS代碼不會在提交的時候對網站進行破壞,因為它不會運行。而是會在輸出的時候進行破壞,比如一篇沒有過濾的文章里 輸入<script>alert(0)</script>,在文章頁面調用的時候會自動彈出。更深層次的,會對網站的COOKIE進行破壞和重構,導致個人數據泄露,當然,這個可能性我感覺不大。只要對提交的表單,進行script的過濾就可以,簡單、粗暴,不讓這個<script>出現,其他的代碼就是文字了。