XSS杀手
根据白名单对字符串进行过滤。如果字符串包含白名单意外的html标签,或者白名单允许的标签但属性不在白名单内,则这些部分会被过滤掉。 无 ?php/** * Prevent XSS. * * @author liuxd */class XssFilter{ /** * 设置标签和属性的白名单。 * @param array $p_a
根据白名单对字符串进行过滤。如果字符串包含白名单意外的html标签,或者白名单允许的标签但属性不在白名单内,则这些部分会被过滤掉。
<?php /** * Prevent XSS. * * @author liuxd */ class XssFilter { /** * 设置标签和属性的白名单。 * @param array $p_aTags * @param array $p_aAttr */ public function __construct($p_aTags, $p_aAttr) { $this->aTags = $p_aTags; $this->aAttr = $p_aAttr; } /** * 过滤器。 * @param string $p_sInput * @return string */ public function filter($p_sInput) { $aMatches = []; $sPattern = '/<([a-zA-Z]+).*>.*<\/\1>/'; preg_match_all($sPattern, $p_sInput, $aMatches); $sInput = $p_sInput; if (empty($aMatches[1])) { return $sInput; } list ($aContents, $aTags) = $aMatches; foreach ($aTags as $iKey => $sTag) { if (!in_array($sTag, $this->aTags)) { // 标签不合法 $sInput = str_replace($aContents[$iKey], '', $sInput); } else { $aTag = []; preg_match('/<' . $sTag . '.*?>/', $aContents[$iKey], $aTag); $aAttr = explode(' ', $aTag[0]); if (!$this->checkAttr($aAttr)) { // 标签虽然合法,但是包含了不合法的属性。 $sInput = str_replace($aContents[$iKey], '', $sInput); } } } return trim($sInput); } /** * 检查合法标签是否有非法属性。 * @param array $p_aAttr 标签熟悉列表 * @return bool */ private function checkAttr($p_aAttr) { $bResult = true; foreach ($p_aAttr as $sAttr) { $sAttrName = strstr($sAttr, '=', true); if ($sAttrName === false) { continue; } if (!in_array($sAttrName, $this->aAttr)) { $bResult = false; } } return $bResult; } } # end of this file

ホット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)

ホットトピック











Quark Browserを使用していると、重複ファイルをフィルタリングする機能がありますが、これをよく知らない友人もいますので、この機能をオンにする方法を紹介しますので、興味のある方はぜひ一緒に見てください。 1. まず、携帯電話で「Quark Browser」をクリックしてインターフェースに入り、ページ中央のオプションで「Quark Network Disk」をクリックして選択し、開いて入ります。 2. 以下の図に示すように、Quark ネットワーク ディスク インターフェイスの下部で [バックアップ設定] を見つけ、クリックして開きます。 3. 次に、入力したページに [重複ファイルのフィルター] があります。スイッチボタンがあり、その上の円形スライダーをクリックして色に設定すると、機能がオンになります ファイルのバックアップを続行する場合、ネットワークディスク容量を節約するために重複したファイルがスキップされます。

PHPでint型をstring型に変換する方法を詳しく解説 PHPの開発では、int型をstring型に変換する必要に遭遇することがよくあります。この変換はさまざまな方法で実現できますが、この記事では、読者の理解を深めるために、具体的なコード例とともに、いくつかの一般的な方法を詳しく紹介します。 1. PHP の組み込み関数 strval() を使用する PHP には、さまざまな型の変数を文字列型に変換できる組み込み関数 strval() が用意されています。 int型をstring型に変換する必要がある場合、

Golang で文字列が特定の文字で始まるかどうかを確認するにはどうすればよいですか? Golang でプログラミングする場合、文字列が特定の文字で始まるかどうかを確認する必要がある状況によく遭遇します。この要件を満たすために、Golang の strings パッケージによって提供される関数を使用してこれを実現できます。次に、Golangを使って文字列が特定の文字で始まるかどうかを確認する方法を、具体的なコード例とともに詳しく紹介します。 Golang では、strings パッケージの HasPrefix を使用できます。

タイトル: Golang で文字列が特定の文字で終わるかどうかを判断する方法 Go 言語では、文字列が特定の文字で終わるかどうかを判断する必要があることがあります。これは文字列を処理するときに非常に一般的です。この記事では、Go 言語を使用してこの関数を実装する方法と、参考用のコード例を紹介します。まず、Golang で文字列が指定された文字で終わるかどうかを判断する方法を見てみましょう。 Golang の文字列内の文字はインデックス作成によって取得でき、文字列の長さは次のようになります。

1. まず pycharm を開いて、pycharm ホームページに入ります。 2. 次に、新しい Python スクリプトを作成し、右クリックして [新規] をクリックし、[Pythonfile] をクリックします。 3. 文字列、コード: s="-" を入力します。 4. 次に、文字列内のシンボルを 20 回繰り返す必要があります (コード: s1=s*20)。 5. 印刷出力コード、コード: print(s1) を入力します。 6. 最後にスクリプトを実行すると、下部に戻り値が表示されます。 - 20 回繰り返しました。

PHP で 16 進数の文字列を変換するときに中国語の文字化けを解決する方法. PHP プログラミングでは、16 進数で表された文字列を通常の中国語の文字に変換する必要がある状況に遭遇することがあります。しかし、この変換の過程で、場合によっては中国語の文字化けが発生することがあります。この記事では、PHPで16進数を文字列に変換する際に中国語が文字化けする問題を解決する方法と、具体的なコード例を紹介します。 16 進数の変換には hex2bin() 関数を使用します。PHP の組み込み hex2bin() 関数は 1 を変換できます

PHP 文字列マッチングのヒント: あいまいな組み込み式を避ける PHP 開発では、文字列マッチングは一般的なタスクであり、通常は特定のテキスト コンテンツを検索したり、入力形式を検証したりするために使用されます。ただし、一致の精度を確保するために、曖昧な包含式の使用を避ける必要がある場合があります。この記事では、PHP で文字列マッチングを行うときにあいまいな包含式を回避するためのテクニックをいくつか紹介し、具体的なコード例を示します。完全一致には preg_match() 関数を使用します。 PHP では、preg_mat を使用できます。

PHP 文字列操作: スペースを効果的に削除する実用的な方法 PHP 開発では、文字列からスペースを削除する必要がある状況によく遭遇します。スペースを削除すると文字列がきれいになり、その後のデータ処理と表示が容易になります。この記事では、スペースを削除するための効果的かつ実践的な方法をいくつか紹介し、具体的なコード例を添付します。方法1: PHP組み込み関数trim()を使用する PHP組み込み関数trim()を使用すると、文字列の両端のスペース(スペース、タブ、改行などを含む)を削除でき、非常に便利で簡単です。使用します。
