當前位置:首頁 » 凈水方式 » php過濾xss函數

php過濾xss函數

發布時間: 2021-04-05 14:54:50

㈠ php防止sql注入漏洞有哪些函數

|Version:0.9
StartHTML:-1
EndHTML:-1
StartFragment:0000000111
EndFragment:0000022042

/**
* 檢查數據
* @param $args
* @return mixed
*/
function check_data($args)
{
$args_arr=array(
'xss'=>"(EXTRACTVALUE||UPDATEXML)\\b.+?(select|concat)|[\\'\\\"\\;\\*\\<\\>].*\\bon[a-zA-Z]{3,15}[\\s\\r\\n\\v\\f]*\\=|\\b(?:expression)\\(|\\<script[\\s\\\\\\/]|\\<\\!\\[cdata\\[|\\b(?:eval|alert|prompt|msgbox)\\s*\\(|url\\((?:\\#|data|javascript)",
'sql'=>"(EXTRACTVALUE|EXISTS|UPDATEXML)\\b.+?(select|concat)|[^\\{\\s]{1}(\\s|\\b)+(?:select\\b|update\\b|insert(?:(\\/\\*.*?\\*\\/)|(\\s)|(\\+))+into\\b).+?(?:from\\b|set\\b)|[^\\{\\s]{1}(\\s|\\b)+(?:create|delete|drop|truncate|rename|desc)(?:(\\/\\*.*?\\*\\/)|(\\s)|(\\+))+(?:table\\b|from\\b|database\\b)|into(?:(\\/\\*.*?\\*\\/)|\\s|\\+)+(?:mp|out)file\\b|\\bsleep\\([\\s]*[\\d]+[\\s]*\\)|benchmark\\(([^\\,]*)\\,([^\\,]*)\\)|(?:declare|set|select)\\b.*@|union\\b.*(?:select|all)\\b|(?:select|update|insert|create|delete|drop|grant|truncate|rename|exec|desc|from|table|database|set|where)\\b.*(charset|ascii|bin|char|uncompress|concat|concat_ws|conv|export_set|hex|instr|left|load_file|locate|mid|sub|substring|oct|reverse|right|unhex)\\(|(?:master\\.\\.sysdatabases|msysaccessobjects|msysqueries|sysmoles|mysql\\.db|sys\\.database_name|information_schema\\.|sysobjects|sp_makewebtask|xp_cmdshell|sp_oamethod|sp_addextendedproc|sp_oacreate|xp_regread|sys\\.dbms_export_extension)",
'other'=>"\\.\\.[\\\\\\/].*\\%00([^0-9a-fA-F]|$)|%00[\\'\\\"\\.]"
);
foreach($args_arr as $key=>$value)
{
if (preg_match("/".$value."/is",$args) == 1)
{
//W_log("<br>IP: ".$_SERVER["REMOTE_ADDR"]."<br>時間: ".strftime("%Y-%m-%d %H:%M:%S")."<br>頁面:".$_SERVER["PHP_SELF"]."<br>提交方式: ".$_SERVER["REQUEST_METHOD"]."<br>提交數據: ".$str);
//print "您的提交帶有不合法參數,謝謝合作";
api_inc::error("您的提交帶有不合法參數,謝謝合作!");
exit();
}
}
return $args;
}

㈡ php下怎樣防止XSS攻擊

在PHP中修補XSS漏洞,我們可以使用三個PHP函數。
這些函數主要用於清除HTML標志,這樣就沒辦法注入代碼了。使用更多的函數是htmlspecialchars() ,它可以將所有的"<"與">"符號轉換成"<" 與">;"。其它可供選擇的函數還有htmlentities(), 它可以用相應的字元實體(entities)替換掉所有想要替換掉的特徵碼(characters)。
PHP Code:

<?
// 這里的代碼主要用於展示這兩個函數之間輸出的不同
$input = '<script>alert(1);</script>';

echo htmlspecialchars($input) . '<br />';
echo htmlentities($input);

?>
htmlentities()的另一個例子
PHP Code:

<?php
$str = "A 'quote' is <b>bold</b>";

echo htmlentities($str);
echo htmlentities($str, ENT_QUOTES);
?>
第一個顯示: A 'quote' is <b>bold</b>
第二個顯示:A 'quote' is <b>bold</b>
htmlspecialchars()使用實例
PHP Code:

<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new;
?>
顯示: <a href='test'>Test</a>
strip_tags()函數代替.刪除所有的HTML元素(elements),除了需要特別允許的元素之外,如:<i>, <b> 或<p>.
strip_tags()使用實例
PHP Code:

<?php
$text = '<p>Test paragraph.</p><!-- Comment --> Other text';
echo strip_tags($text);

echo "\n";
// allow <p>
echo strip_tags($text, '<p>');
?>
現在我們至少已經知道有這些函數了,當我們發現我們的站點存在XSS漏洞時就可以使用這些代碼了。我最近在我的站點上的GoogleBig(一個Mybb論壇的插件)視頻部分發現了一個XSS漏洞,因此我就在想如何使用這些函數寫段代碼來修補這個搜索漏洞。
首先我發現問題出在search.php這一文件上,現在讓我們看看這個查詢及輸出查詢結果中的部分代碼研究一下:
PHP Code:

function search($query, $page)

{

global $db, $bgcolor2, $bgcolor4, $sitename, $io_db, $mole_url, $list_page_items, $hm_index;

$option = trim($option);

$query = trim($query);

$query = FixQuotes(nl2br(filter_text($query)));

$db->escape_string($query);

$db->escape_string($option);

alpha_search($query);
...
在這種情況下,我們通過使用$query這一值作為變數,然後使用htmlentities()這一函數:
PHP Code:

$query = FixQuotes(nl2br(filter_text(htmlentities($query))));
如果你對這三種函數還有有疑問可以使用PHP手冊來查看:
http://it.php.net/htmlentities
http://it2.php.net/htmlspecialchars
http://it2.php.net/strip_tags

㈢ 看看我這個PHP代碼怎麼防止跨站腳本攻擊(XSS)

很遺憾,你這代碼亂得很,而且看起來是後端處理代碼,並不是xss關鍵處理代碼,xss一般在入庫前進行轉義

㈣ 幾個有用的php字元串過濾,轉換函數

explode — 使用一個字抄符襲串分割另一個字元串
array explode ( string $delimiter , string $string [, int $limit ] )
此函數返回由字元串組成的數組,每個元素都是 string 的一個子串,它們被字元串 delimiter 作為邊界點分割出來。

<?php// 示例 1$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";$pieces = explode(" ", $pizza);echo $pieces[0]; // piece1echo $pieces[1]; // piece2 // 示例 2$data = "foo:*:1023:1000::/home/foo:/bin/sh";list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);echo $user; // fooecho $pass; // * ?>

㈤ php xss防護代碼

舉個例子過濾 $_POST['name']
<?php
if (isset($_POST['name'])){
$str = trim($_POST['name']); //清理空格
$str = strip_tags($str); //過濾html標簽
$str = htmlspecialchars($str); //將字元內容轉化為html實體
$str = addslashes($str);
echo $str;
}
?>

㈥ 如何用php函數修補XSS漏洞

最好的辦法就是別招惹黑客,否則怎麼都能攻擊。

㈦ php-預防XSS攻擊的一些方法整理

很多博客園有。

希望我的回答可以幫到你,有什麼不懂可以追問。

㈧ php過濾指定字元的函數

explode — 使用一個字元串分割另一個字元串

array explode ( string $delimiter , string $string [, int $limit ] )

此函數返回由字元串組成的數組,每個元素專都是 string 的一個屬子串,它們被字元串 delimiter 作為邊界點分割出來。

<?php
//示例1
$pizza="";
$pieces=explode("",$pizza);
echo$pieces[0];//piece1
echo$pieces[1];//piece2

//示例2
$data="foo:*:1023:1000::/home/foo:/bin/sh";
list($user,$pass,$uid,$gid,$gecos,$home,$shell)=explode(":",$data);
echo$user;//foo
echo$pass;//*

?>

㈨ 大家都知道php有個函數htmlspecialchars 可以拿來防止X-S-S.

這個函數是過濾 ' "" 即 單引抄號 雙引號的

在入庫的時候如果不過濾 ' ""這樣的東西 php程序員應該能明白有多可怕

htmlspecialchars的作用是把:

& (和號) 成為 &
" (雙引號) 成為 "
' (單引號) 成為 '
< (小於) 成為 <
> (大於) 成為 >

輸出的時候不需要特殊處理 瀏覽器 會把這些標簽還原的

一般來說使用 mysql_escape_string() 處理sql語句就可以解決很多問題

不信可以嘗試一下

㈩ PHP 過濾函數有哪些

①常用的來安全函數源:

mysql_real_escape_string()

addslashes()

②這些函數的作用:

mysql_real_escape_string()和addslashes()函數都是對數據中的
單引號、雙引號進行轉義!也就是防止sql注入!
但是mysql_real_escape_string()考慮了字元集,更加的安全一些!
經過查閱相關的資料,可以得出一個結論:當前的字元集是單位元組的話,這兩個函數作用相同,都可以起到轉義過濾的作用,但是,有誰會只是用單位元組呢?尤其是utf8越來越廣泛的被使用到!

③函數的用法:

在了解mysql_real_escape_string()和addslashes()這兩個函數的用法的時候,我們必須先了解另外兩個函數的含義!

get_magic_quotes_gpc()和get_magic_quotes_runtime(),我們來比較一下兩個函數的異同:

相同:
a、兩者都是用來獲取php.ini配置文件的配置情況的!當開啟的時候返回1,關閉的時候返回0!

b、當開啟的時候,都會對指定范圍內的數據進行轉義過濾!

熱點內容
丁度巴拉斯情人電影推薦 發布:2024-08-19 09:13:07 瀏覽:886
類似深水的露點電影 發布:2024-08-19 09:10:12 瀏覽:80
《消失的眼角膜》2電影 發布:2024-08-19 08:34:43 瀏覽:878
私人影院什麼電影好看 發布:2024-08-19 08:33:32 瀏覽:593
干 B 發布:2024-08-19 08:30:21 瀏覽:910
夜晚看片網站 發布:2024-08-19 08:20:59 瀏覽:440
台灣男同電影《越界》 發布:2024-08-19 08:04:35 瀏覽:290
看電影選座位追女孩 發布:2024-08-19 07:54:42 瀏覽:975
日本a級愛情 發布:2024-08-19 07:30:38 瀏覽:832
生活中的瑪麗類似電影 發布:2024-08-19 07:26:46 瀏覽:239