PHP保険フィルター関数コード
php 安全过滤函数代码
php 安全过滤函数代码,防止用户恶意输入内容。
<span style="color: #008000;">//</span><span style="color: #008000;">安全过滤输入[jb]</span>function check_str($<span style="color: #0000ff;">string</span>, $isurl = <span style="color: #0000ff;">false</span><span style="color: #000000;">){$</span><span style="color: #0000ff;">string</span> = preg_replace(<span style="color: #800000;">'</span><span style="color: #800000;">/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/</span><span style="color: #800000;">'</span>,<span style="color: #800000;">''</span>,$<span style="color: #0000ff;">string</span><span style="color: #000000;">);$</span><span style="color: #0000ff;">string</span> = str_replace(array(<span style="color: #800000;">"</span><span style="color: #800000;">\0</span><span style="color: #800000;">"</span>,<span style="color: #800000;">"</span><span style="color: #800000;">%00</span><span style="color: #800000;">"</span>,<span style="color: #800000;">"</span><span style="color: #800000;">\r</span><span style="color: #800000;">"</span>),<span style="color: #800000;">''</span>,$<span style="color: #0000ff;">string</span><span style="color: #000000;">);empty($isurl) </span>&& $<span style="color: #0000ff;">string</span> = preg_replace(<span style="color: #800000;">"</span><span style="color: #800000;">/&(?!(#[0-9]+|[a-z]+);)/si</span><span style="color: #800000;">"</span>,<span style="color: #800000;">'</span><span style="color: #800000;">&</span><span style="color: #800000;">'</span>,$<span style="color: #0000ff;">string</span><span style="color: #000000;">);$</span><span style="color: #0000ff;">string</span> = str_replace(array(<span style="color: #800000;">"</span><span style="color: #800000;">%3C</span><span style="color: #800000;">"</span>,<span style="color: #800000;">'</span><span style="color: #800000;"><</span><span style="color: #800000;">'</span>),<span style="color: #800000;">'</span><span style="color: #800000;"><</span><span style="color: #800000;">'</span>,$<span style="color: #0000ff;">string</span><span style="color: #000000;">);$</span><span style="color: #0000ff;">string</span> = str_replace(array(<span style="color: #800000;">"</span><span style="color: #800000;">%3E</span><span style="color: #800000;">"</span>,<span style="color: #800000;">'</span><span style="color: #800000;">></span><span style="color: #800000;">'</span>),<span style="color: #800000;">'</span><span style="color: #800000;">></span><span style="color: #800000;">'</span>,$<span style="color: #0000ff;">string</span><span style="color: #000000;">);$</span><span style="color: #0000ff;">string</span> = str_replace(array(<span style="color: #800000;">'</span><span style="color: #800000;">"</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">'</span><span style="color: #800000;">"</span>,<span style="color: #800000;">"</span><span style="color: #800000;">\t</span><span style="color: #800000;">"</span>,<span style="color: #800000;">'</span> <span style="color: #800000;">'</span>),array(<span style="color: #800000;">'</span><span style="color: #800000;">“</span><span style="color: #800000;">'</span>,<span style="color: #800000;">'</span><span style="color: #800000;">‘</span><span style="color: #800000;">'</span>,<span style="color: #800000;">'</span> <span style="color: #800000;">'</span>,<span style="color: #800000;">'</span> <span style="color: #800000;">'</span>),$<span style="color: #0000ff;">string</span><span style="color: #000000;">);</span><span style="color: #0000ff;">return</span> trim($<span style="color: #0000ff;">string</span><span style="color: #000000;">);}</span>
下面是整理的一些过滤函数:
<span style="color: #008000;">/*</span><span style="color: #008000;">** 安全过滤类-过滤javascript,css,iframes,object等不安全参数 过滤级别高* Controller中使用方法:$this->controller->fliter_script($value)* @param string $value 需要过滤的值* @return string</span><span style="color: #008000;">*/</span><span style="color: #000000;">function fliter_script($value) {$value </span>= preg_replace(<span style="color: #800000;">"</span><span style="color: #800000;">/(javascript:)?on(click|load|key|mouse|error|abort|move|unload|change|dblclick|move|reset|resize|submit)/i</span><span style="color: #800000;">"</span>,<span style="color: #800000;">"</span><span style="color: #800000;">&111n\\2</span><span style="color: #800000;">"</span><span style="color: #000000;">,$value);$value </span>= preg_replace(<span style="color: #800000;">"</span><span style="color: #800000;">/(.*?)<\/script>/si</span><span style="color: #800000;">"</span>,<span style="color: #800000;">""</span><span style="color: #000000;">,$value);$value </span>= preg_replace(<span style="color: #800000;">"</span><span style="color: #800000;">/(.*?)<\/iframe>/si</span><span style="color: #800000;">"</span>,<span style="color: #800000;">""</span><span style="color: #000000;">,$value);$value </span>= preg_replace (<span style="color: #800000;">"</span><span style="color: #800000;">//iesU</span><span style="color: #800000;">"</span>, <span style="color: #800000;">''</span><span style="color: #000000;">, $value);</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> $value;}</span><span style="color: #008000;">/*</span><span style="color: #008000;">** 安全过滤类-过滤HTML标签* Controller中使用方法:$this->controller->fliter_html($value)* @param string $value 需要过滤的值* @return string</span><span style="color: #008000;">*/</span><span style="color: #000000;">function fliter_html($value) {</span><span style="color: #0000ff;">if</span> (function_exists(<span style="color: #800000;">'</span><span style="color: #800000;">htmlspecialchars</span><span style="color: #800000;">'</span>)) <span style="color: #0000ff;">return</span><span style="color: #000000;"> htmlspecialchars($value);</span><span style="color: #0000ff;">return</span> str_replace(array(<span style="color: #800000;">"</span><span style="color: #800000;">&</span><span style="color: #800000;">"</span>, <span style="color: #800000;">'</span><span style="color: #800000;">"</span><span style="color: #800000;">'</span>, <span style="color: #800000;">"</span><span style="color: #800000;">'</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;"><</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">></span><span style="color: #800000;">"</span>), array(<span style="color: #800000;">"</span><span style="color: #800000;">&</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">\"</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">'</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;"><</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">></span><span style="color: #800000;">"</span><span style="color: #000000;">), $value);}</span><span style="color: #008000;">/*</span><span style="color: #008000;">** 安全过滤类-对进入的数据加下划线 防止SQL注入* Controller中使用方法:$this->controller->fliter_sql($value)* @param string $value 需要过滤的值* @return string</span><span style="color: #008000;">*/</span><span style="color: #000000;">function fliter_sql($value) {$sql </span>= array(<span style="color: #800000;">"</span><span style="color: #800000;">select</span><span style="color: #800000;">"</span>, <span style="color: #800000;">'</span><span style="color: #800000;">insert</span><span style="color: #800000;">'</span>, <span style="color: #800000;">"</span><span style="color: #800000;">update</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">delete</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">\'</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">\/\*</span><span style="color: #800000;">"</span><span style="color: #000000;">, </span><span style="color: #800000;">"</span><span style="color: #800000;">\.\.\/</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">\.\/</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">union</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">into</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">load_file</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">outfile</span><span style="color: #800000;">"</span><span style="color: #000000;">);$sql_re </span>= array(<span style="color: #800000;">""</span>,<span style="color: #800000;">""</span>,<span style="color: #800000;">""</span>,<span style="color: #800000;">""</span>,<span style="color: #800000;">""</span>,<span style="color: #800000;">""</span>,<span style="color: #800000;">""</span>,<span style="color: #800000;">""</span>,<span style="color: #800000;">""</span>,<span style="color: #800000;">""</span>,<span style="color: #800000;">""</span>,<span style="color: #800000;">""</span><span style="color: #000000;">);</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> str_replace($sql, $sql_re, $value);}</span><span style="color: #008000;">/*</span><span style="color: #008000;">** 安全过滤类-通用数据过滤* Controller中使用方法:$this->controller->fliter_escape($value)* @param string $value 需要过滤的变量* @return string|array</span><span style="color: #008000;">*/</span><span style="color: #000000;">function fliter_escape($value) {</span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (is_array($value)) { </span><span style="color: #0000ff;">foreach</span> ($value <span style="color: #0000ff;">as</span> $k =><span style="color: #000000;"> $v) { $value[$k] </span>=<span style="color: #000000;"> self::fliter_str($v); }} </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> { $value </span>=<span style="color: #000000;"> self::fliter_str($value);}</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> $value;}</span><span style="color: #008000;">/*</span><span style="color: #008000;">** 安全过滤类-字符串过滤 过滤特殊有危害字符* Controller中使用方法:$this->controller->fliter_str($value)* @param string $value 需要过滤的值* @return string</span><span style="color: #008000;">*/</span><span style="color: #000000;">function fliter_str($value) {$badstr </span>= array(<span style="color: #800000;">"</span><span style="color: #800000;">\0</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">%00</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">\r</span><span style="color: #800000;">"</span>, <span style="color: #800000;">'</span><span style="color: #800000;">&</span><span style="color: #800000;">'</span>, <span style="color: #800000;">'</span> <span style="color: #800000;">'</span>, <span style="color: #800000;">'</span><span style="color: #800000;">"</span><span style="color: #800000;">'</span>, <span style="color: #800000;">"</span><span style="color: #800000;">'</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;"><</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">></span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span> <span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">%3C</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">%3E</span><span style="color: #800000;">"</span><span style="color: #000000;">);$newstr </span>= array(<span style="color: #800000;">''</span>, <span style="color: #800000;">''</span>, <span style="color: #800000;">''</span>, <span style="color: #800000;">'</span><span style="color: #800000;">&</span><span style="color: #800000;">'</span>, <span style="color: #800000;">'</span> <span style="color: #800000;">'</span>, <span style="color: #800000;">'</span><span style="color: #800000;">"</span><span style="color: #800000;">'</span>, <span style="color: #800000;">'''</span><span style="color: #800000;">, "<", ">", " ", "<", ">");</span>$value =<span style="color: #000000;"> str_replace($badstr, $newstr, $value);$value </span>= preg_replace(<span style="color: #800000;">'</span><span style="color: #800000;">/&((#(\d{3,5}|x[a-fA-F0-9]{4}));)/</span><span style="color: #800000;">'</span>, <span style="color: #800000;">'</span><span style="color: #800000;">&\\1</span><span style="color: #800000;">'</span><span style="color: #000000;">, $value);</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> $value;}</span><span style="color: #008000;">/*</span><span style="color: #008000;">** 私有路劲安全转化* Controller中使用方法:$this->controller->filter_dir($fileName)* @param string $fileName* @return string</span><span style="color: #008000;">*/</span><span style="color: #000000;">function filter_dir($fileName) {$tmpname </span>=<span style="color: #000000;"> strtolower($fileName);$temp </span>= array(<span style="color: #800000;">'</span><span style="color: #800000;">:/</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">\0</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">..</span><span style="color: #800000;">"</span><span style="color: #000000;">);</span><span style="color: #0000ff;">if</span> (str_replace($temp, <span style="color: #800000;">''</span>, $tmpname) !==<span style="color: #000000;"> $tmpname) { </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">;}</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> $fileName;}</span><span style="color: #008000;">/*</span><span style="color: #008000;">** 过滤目录* Controller中使用方法:$this->controller->filter_path($path)* @param string $path* @return array</span><span style="color: #008000;">*/</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> function filter_path($path) {$path </span>= str_replace(array(<span style="color: #800000;">"</span><span style="color: #800000;">'</span><span style="color: #800000;">"</span>,<span style="color: #800000;">'</span><span style="color: #800000;">#</span><span style="color: #800000;">'</span>,<span style="color: #800000;">'</span><span style="color: #800000;">=</span><span style="color: #800000;">'</span>,<span style="color: #800000;">'</span><span style="color: #800000;">`</span><span style="color: #800000;">'</span>,<span style="color: #800000;">'</span><span style="color: #800000;">$</span><span style="color: #800000;">'</span>,<span style="color: #800000;">'</span><span style="color: #800000;">%</span><span style="color: #800000;">'</span>,<span style="color: #800000;">'</span><span style="color: #800000;">&</span><span style="color: #800000;">'</span>,<span style="color: #800000;">'</span><span style="color: #800000;">;</span><span style="color: #800000;">'</span>), <span style="color: #800000;">''</span><span style="color: #000000;">, $path);</span><span style="color: #0000ff;">return</span> rtrim(preg_replace(<span style="color: #800000;">'</span><span style="color: #800000;">/(\/){2,}|(\\\){1,}/</span><span style="color: #800000;">'</span>, <span style="color: #800000;">'</span><span style="color: #800000;">/</span><span style="color: #800000;">'</span>, $path), <span style="color: #800000;">'</span><span style="color: #800000;">/</span><span style="color: #800000;">'</span><span style="color: #000000;">);}</span><span style="color: #008000;">/*</span><span style="color: #008000;">** 过滤PHP标签* Controller中使用方法:$this->controller->filter_phptag($string)* @param string $string* @return string</span><span style="color: #008000;">*/</span><span style="color: #0000ff;">public</span> function filter_phptag($<span style="color: #0000ff;">string</span><span style="color: #000000;">) {</span><span style="color: #0000ff;">return</span> str_replace(array(<span style="color: #800000;">''</span>), array(<span style="color: #800000;">'</span><span style="color: #800000;"><?</span><span style="color: #800000;">'</span>, <span style="color: #800000;">'</span><span style="color: #800000;">?></span><span style="color: #800000;">'</span>), $<span style="color: #0000ff;">string</span><span style="color: #000000;">);}</span><span style="color: #008000;">/*</span><span style="color: #008000;">** 安全过滤类-返回函数* Controller中使用方法:$this->controller->str_out($value)* @param string $value 需要过滤的值* @return string</span><span style="color: #008000;">*/</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> function str_out($value) {$badstr </span>= array(<span style="color: #800000;">"</span><span style="color: #800000;"><</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">></span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">%3C</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">%3E</span><span style="color: #800000;">"</span><span style="color: #000000;">);$newstr </span>= array(<span style="color: #800000;">"</span><span style="color: #800000;"><</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">></span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;"><</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">></span><span style="color: #800000;">"</span><span style="color: #000000;">);$value </span>=<span style="color: #000000;"> str_replace($newstr, $badstr, $value);</span><span style="color: #0000ff;">return</span> stripslashes($value); <span style="color: #008000;">//</span><span style="color: #008000;">下划线</span>}

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











Java の String.valueOf() 関数を使用して基本データ型を文字列に変換する Java 開発で基本データ型を文字列に変換する必要がある場合、一般的な方法は String クラスの valueOf() 関数を使用することです。この関数は、基本データ型のパラメータを受け入れ、対応する文字列表現を返すことができます。この記事では、基本的なデータ型変換に String.valueOf() 関数を使用する方法を検討し、いくつかのコード例を提供します。

char配列をstringに変換する方法:代入によって実現できます {char a[]=" abc d\0efg ";string s=a;} 構文を使用して、char配列にstringに値を直接代入させて実行します変換を完了するためのコード。

SpringBoot の初心者がプロジェクトを作成するとき、一連の問題 1.2.3.4.5.6 についてコントローラーをスキャンできません。別の方法は、開始時に @ComponentScan(basePackages={"xxx.xxx.xx","xxx.xxx") を追加することです。サービス クラス) .xx”}) はパッケージの完全修飾名であり、複数の SpringBoot カスタム コントローラーに使用できます。スタートアップ クラスとカスタム コントローラー パッケージが同じディレクトリにありません。 application.java の公式推奨配置

C 言語における return の使い方は、 1. 戻り値の型が void の関数については、return 文を使用して関数の実行を早期に終了することができます; 2. 戻り値の型が void ではない関数については、 return ステートメントは、関数の実行を終了するためのものです。結果は呼び出し元に返されます。 3. 関数の実行を早期に終了します。関数内で return ステートメントを使用して、関数の実行を早期に終了することもできます。関数が値を返さない場合。

Java の String.replace() 関数を使用して文字列内の文字 (文字列) を置換する Java では、文字列は不変オブジェクトです。つまり、文字列オブジェクトが作成されると、その値は変更できません。ただし、文字列内の特定の文字または文字列を置換する必要がある状況が発生する場合があります。現時点では、Java の String クラスの replace() メソッドを使用して文字列置換を実装できます。 String クラスの replace() メソッドには 2 つのタイプがあります。

ソースコード: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}#出力 上記のコードの出力は、単純に次のように結論付けることができます:finally の前に return が実行されます。バイトコード レベルで何が起こるかを見てみましょう。以下は、case1 メソッドのバイトコードの一部をインターセプトし、ソース コードを比較して、各命令の意味に注釈を付けます。

皆さんこんにちは。今日は Java の基本知識である String についてお話します。 String クラスの重要性は言うまでもなく、バックエンド開発で最もよく使用されるクラスであるため、説明する必要があります。

場合によっては、サービス コントローラーのプレフィックスが一貫している場合があります。たとえば、すべての URL のプレフィックスは /context-path/api/v1 であり、一部の URL には統一されたプレフィックスを追加する必要があります。考えられる解決策は、サービスのコンテキスト パスを変更し、コンテキスト パスに api/v1 を追加することです。グローバル プレフィックスを変更すると、上記の問題を解決できますが、欠点もあります。URL に複数のプレフィックスがある場合、たとえば、 URL にはプレフィックスが必要です。api/v2 の場合は区別できません。サービス内の一部の静的リソースに api/v1 を追加したくない場合は、区別できません。以下では、カスタム アノテーションを使用して、特定の URL プレフィックスを均一に追加します。 1つ、
