PHP はすべての悪意のある文字をフィルターします (投稿のバッチ フィルター、機密データの取得)_PHP チュートリアル
関数コード:
//php批判量过滤post,get敏感なデータ
if (get_magic_quotes_gpc()) {
$_GET =tripslashes_array($_GET);
$_POST = ストリップスラッシュ_配列($_POST);
}
functionstripslashes_array(&$array) {
while(list($key,$var) = each($array)) {
if ($key != 'argc' && $key != 'argv' && ( strtoupper($key) != $key || ''.intval($key) == "$key")) {
if (is_string($var)) {
$array[$key] = ストリップスラッシュ($var) );
}
if (is_array($var)) {
$array[$key] =tripslashes_array($var);
}
}
}
return $array;
}
//过滤
function htmlencode($str){
if(empty($str)) return;
if($str=="") $str; を返します。
$str=トリム($str);
$str=str_replace("&","&",$str);
$str=str_replace(">",">",$str);
$str=str_replace("<","<",$str);
$str=str_replace(chr(32)," ",$str);
$str=str_replace(chr(9)," ",$str);
$str=str_replace(chr(9)," ",$str);
$str=str_replace(chr(34),"&",$str);
$str=str_replace(chr(39),"'",$str);
$str=str_replace(chr(13),"
",$str);
$str=str_replace("'","''",$str);
$str=str_replace("選択","選択",$str);
$str=str_replace("スクリプト","スクリプト",$str);
$str=str_replace("スクリプト","スクリプト",$str);
$str=str_replace("結合","結合",$str);
$str=str_replace("ユニオン","ユニオン",$str);
$str=str_replace("どこ","どこ",$str);
$str=str_replace("挿入","挿入",$str);
$str=str_replace("削除","削除",$str);
$str=str_replace("更新","更新",$str);
$str=str_replace("いいね","いいね",$str);
$str=str_replace("ドロップ","ドロップ",$str);
$str=str_replace("作成","作成",$str);
$str=str_replace("変更","変更",$str);
$str=str_replace("名前変更","名前変更",$str);
$str=str_replace("alter","alter",$str);
$str=str_replace("キャスト","cas",$str);
$str; を返します。
}
//解読
function htmldecode($str){
if(empty($str)) return;
if($str=="") $str; を返します。
$str=str_replace("選択","選択",$str);
$str=str_replace("結合","結合",$str);
$str=str_replace("ユニオン","ユニオン",$str);
$str=str_replace("どこ","どこ",$str);
$str=str_replace("挿入","挿入",$str);
$str=str_replace("削除","削除",$str);
$str=str_replace("更新","更新",$str);
$str=str_replace("いいね","いいね",$str);
$str=str_replace("ドロップ","ドロップ",$str);
$str=str_replace("作成","作成",$str);
$str=str_replace("変更","変更",$str);
$str=str_replace("名前変更","名前変更",$str);
$str=str_replace("alter","alter",$str);
$str=str_replace("cas","cast",$str);
$str=str_replace("&","&",$str);
$str=str_replace(">",">",$str);
$str=str_replace("<","<",$str);
$str=str_replace(" ",chr(32),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace("&",chr(34),$str);
$str=str_replace("'",chr(39),$str);
$str=str_replace("
",chr(13),$str);
$str=str_replace("''","'",$str);
$str; を返します。
}
// 関数:string_filter($string, $match_type=1)
// 機能:过滤非法内容
// パラメータ:
// $string 必要检查的文字列
// $match_type 適合型,1精确適合、2 は模糊適合、默认は 1
//
// 戻り値:有非法内容返還True、無非法内容返報False
// その他:非法关键字列表保存在txt文件里、分別普通非法关键字和严重非法关键字两个列表
// 作者:heiyeluren
// 日時:2006-1-18
//
//=================== ================================================= =
function lib_lawless_string_filter($string, $match_type=1)
{
//文字串空直接非法に戻ります
$string = トリム($string);
if (empty($string))
{
return false;
}
//获取重要关键字列表と普通关键字列表
$common_file = "common_list.txt"; //汎用过滤关键字列表
$signify_file = "signify_list.txt"; //重要过滤关键字列表
//結果の任意の列表文件が存在しない場合は直接 false を返し、そうでない場合は 2 つの文件列表を 2 つの数グループに取り込みます
if (!file_exists($common_file) || !file_exists($signify_file) )
{
false を返します。
}
$common_list = ファイル($common_file);
$signify_list = ファイル($signify_file);
//精确適合
if ($match_type == 1)
{
$is_lawless = strict_match($string, $common_list);
}
//模糊適合
if ($match_type == 2)
{
$is_lawless = Blur_match($string, $common_list, $signify_list);
}
// 判断結果数グループ中にデータがあるかどうか、結果があれば、证明必須
if (is_array($is_lawless) && !empty($is_lawless))
{
return true;
}
else
{
return false;
}
}
//---------------
//完全一致、フィルタリングサービス用
//--------- ------ -------
関数 strict_match($string, $common_list)
{
$string = トリム($string);
$string = lib_replace_end_tag($string);
//共通フィルターキーワードリストを取得します
foreach ($common_list as $block)
{
$block =rim($block)
if (preg_match("/^$string$/i", $block))
{
$blist[] = $block;
}
}
//配列内にフィルタリングされたコンテンツがあるかどうかを判断する
if (!empty($blist))
{
return array_unique($blist) ;
}
return false;
}
//----- ------------------
// あいまいマッチング、サービングフィルタリング
//---- ---------------------- -
関数 Blur_match($string, $common_list, $signify_list)
{
$string = トリム($string); s_len = strlen($string);
$string = lib_replace_end_tag($string);
//共通フィルターキーワードリストの取得
foreach($common_list as $block)
{
$block =trim($block); preg_match("/^$string$/i", $block))
{
$blist [] = $block;
}
}
//厳密にフィルタリングされたキーワードリストを取得します
foreach($signify_list as $block)
{
$block = トリム($block);
if ($s_len>=strlen($ block) && preg_match("/$block/i", $string))
{
$blist[] = $block; }
}
//配列内にフィルタリングされたコンテンツがあるかどうかを判断します
if (!empty($blist))
{
return array_unique($blist);
}
return
}
//---- ----------------------
//フィルタリングを提供するために HTML 終了タグを置き換えます
//--------------- -----------
関数 lib_replace_end_tag($str)
{
if (empty($str)) は false を返します
$str = htmlspecialchars($str);
$str = str_replace( '/ ', "", $str);
$str = str_replace("\", "" , $str);
$str = str_replace("> "<", "", $str);
$str = str_replace("", "", $str); "選択","選択",$str);
$str=str_replace("結合","結合",$str);
$str=str_replace("結合","結合",$str); str=str_replace("どこ","どこ",$str);
$str=str_replace("挿入","挿入",$str); );
$str=str_replace("更新","更新",$str);
$str=str_replace("削除","削除) ",$str);
$str=str_replace("作成","作成",$ str);
$str=str_replace("変更","変更",$str);
$str=str_replace("名前の変更) ","名前変更",$str);
$str=str_replace("alter"," alter",$str);
$str=str_replace("cas","cast",$str);
$str= str_replace("&","&",$str);
$str=str_replace(">",">",$str);
$str=str_replace("<","<", $str);
$str=str_replace(" ",chr(32),$str);
$str=str_replace(" ",chr) (9),$str);
$str=str_replace("&",chr(34),$str);
$str=str_replace("'",chr(39),$str); str_replace("
",chr(13),$str);
$str=str_replace("''","'",$str);
$str=str_replace("css","'",$str) );
$str=str_replace("CSS","'",$str);
return $str;
//HTML タグ、拡張子としてフィルタリング可能
/*
$tags = array("/html", "/head"、"/body"、"/div"、"/span"、"/ DOCTYPE"、"/title"、"/link"、"/meta"、"/style"、"/p"、 「/h1,」、「/h2,」、「/h3,」、「/h4,」、「/h5,」、「/h6」、「/strong」、「/em」、「/abbr」、 "/acronym"、"/address"、"/bdo"、"/blockquote"、"/cite"、"/q"、"/code"、"/ins"、"/del"、"/dfn"、 「/kbd」、「/pre」、「/samp」、「/var」、「/br」、「/a」、「/img」、「/area」、「/map」、「/object」、 "/param"、"/ul"、"/ol"、"/li"、"/dl"、"/dt"、"/dd"、"/table"、"/tr"、"/td"、 "/th"、"/tbody"、"/thead"、"/tfoot"、"/col"、"/colgroup"、"/caption"、"/form"、"/input"、"/textarea"、 "/select"、"/option"、"/optgroup"、"/button"、"/ label"、"/fieldset"、"/legend"、"/script"、"/noscript"、"/b"、 "/i"、"/tt"、"/sub"、"/sup"、"/ big"、"/small"、"/hr" );
コード:
引用は直接次のようになります:
コードをコピーします
コードは次のとおりです:
$xxx = htmlspecialchars($_POST['xxx']);
コード
http://www.bkjia.com/PHPjc/743146.html
関数コード: 次のようにコードをコピーします。 //php バッチ フィルター post, get 機密データ if (get_magic_quotes_gpc()) { $_GET =tripslashes_array($_GET) $_POST =tripslashes_array($_POS...
)

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています

この記事では、Laravel Webフレームワークの通知システムを検討します。 Laravelの通知システムを使用すると、さまざまなチャネルでユーザーに通知を送信できます。今日は、通知ovを送信する方法について説明します
