php過濾表單提交的危險代碼

來源:互聯網
上載者:User
表單提交如果安全做得不好就很容易因為這個表單提交導致網站被攻擊了,下面我來分享兩個常用的php 過濾表單提交的危險代碼的執行個體,各位有需要的朋友可參考.

例1,代碼如下:

function uhtml($str)

{

$farr = array(

"/s+/", //過濾多餘空白

//過濾 <script>等可能引入惡意內容或惡意改變顯示布局的代碼,如果不需要插入flash等,還

可以加入<object>的過濾

"/<(/?)(script|i?frame|style|html|body|title|link|meta|?|%)([^>]*?)>/isU",

"/(<[^>]*)on[a-zA-Z]+s*=([^>]*>)/isU",//過濾javascript的on事件

);

$tarr = array(

" ",

"<123>",//如果要直接清除不安全的標籤,這裡可以留空

"12",

);

$str = preg_replace( $farr,$tarr,$str);

return $str;

}

例2,或者這樣操作,代碼如下:

//get post data

function PostGet($str,$post=0)

{

emptyempty($str)?die('para is null'.$str.'!'):'';

if( $post )

{

if( get_magic_quotes_gpc() )

{

return htmlspecialchars(isset($_POST[$str])?$_POST

[$str]:'');

}

else

{

return addslashes(htmlspecialchars(isset($_POST[$str])?

$_POST[$str]:''));

}

}

else

{

if( get_magic_quotes_gpc() )

{

return htmlspecialchars(isset($_GET[$str])?$_GET[$str]:'');

}

else

{

return addslashes(htmlspecialchars(isset($_GET[$str])?

$_GET[$str]:''));

}

}//開原始碼phpfensi.com

}

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.