ホームページ  >  記事  >  バックエンド開発  >  javascript - アンコード制御文字を削除するための PHP の通常のルール

javascript - アンコード制御文字を削除するための PHP の通常のルール

WBOY
WBOYオリジナル
2016-10-10 11:55:541153ブラウズ

ユーザー名を検証するウェブサイトを作成する際、ペネトレーションをプレイする友人にテストを依頼しました。 。次に、制御文字の入力が与えられました(関係ありませんが、それでも影響はあります。sf の正規表現が機能しないように見えます。また、PHP perl で uncode を使用するにはどうすればよいですか?
Test as以下:

リーリー

一致できません (注: u202e は RLO 制御文字です)
禁止文字テスト: Gong Lun Fa
文字シーケンスは RLOGong Lun Fa です RLO功轮法
貌似控制字符钻的空子蛮多?
贴吧已经屏蔽了控制字符,不过,我能力有限,没有找到相关的控制JS的REX。
特来sf求助。
PS:用户名中文没法用 /^[x4e00-x9affw]{4,12}$/ 制御文字が悪用する抜け穴が多数あるようです?

Tieba は制御キャラクターをブロックしましたが、私の能力には限界があり、JS を制御するための適切な REX が見つかりません。 私は助けを求めてSFに来ました。

追記: 中国語のユーザー名は使用できません /^[x4e00-x9affw]{4,12}$/


返信内容:

ウェブサイトのユーザー名検証を作成する際、ペネトレーションに興味のある友人にテストを依頼しました。 。次に、制御文字の入力が与えられました(関係ありませんが、それでも影響はあります。sf の正規表現が機能しないように見えます。また、PHP perl で uncode を使用するにはどうすればよいですか?
Test as以下:
リーリー RLO功轮法
貌似控制字符钻的空子蛮多?
贴吧已经屏蔽了控制字符,不过,我能力有限,没有找到相关的控制JS的REX。
特来sf求助。
PS:用户名中文没法用 /^[x4e00-x9affw]{4,12}$/ 一致できません (注: u202e は RLO 制御文字です)

禁止文字テスト: Gong Lun Fa

文字シーケンスは RLOGong Lun Fa です

制御文字が悪用する抜け穴が多数あるようです?
Tieba は制御キャラクターをブロックしましたが、私の能力には限界があり、JS を制御するための適切な REX が見つかりません。 /[wx{4e00}-x{9aff}]{4,12}/u私は助けを求めてSFに来ました。

追記: 中国語のユーザー名は使用できません /^[x4e00-x9affw]{4,12}$/

PHP マニュアルをめくった後、一致するパターン、、、中国語、a-zA-Z_、一致する規則的なパターンを見つけました:

テスト:
リーリー

中国語と日本語は問題ありません。UTF-8 モードをオンにするだけです。

UTF-8 モードでは、「x{...}」の使用が許可され、中括弧内の内容は有効な 16 進数になります。 指定された 16 進数を UTF-8 文字コードとして解釈します。
🎜u (PCRE_UTF8)🎜 この修飾子は、perl と互換性のない追加機能を有効にします。 パターン文字列は UTF-8 とみなされます。この修飾子は、Unix の場合は PHP 4.1.0 以降、Win32 の場合は PHP 4.2.3 以降で使用できます。 PHP 4.3.5 では、パターンの utf-8 有効性のチェックが開始されます。 🎜質問は終わりました。なぜ大きな答えをしなかったのかわかりません。 🎜🎜 🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。