入力を消すための良い正規表現

私はフォームの入力を消毒するための一般的な正規表現の後に、DBに格納されるファーストネームの姓フィールドに使用したいと思います。

私はASP.netを使用しています

0
特定のユースケース(達成しようとしているもの)と、すでに試したことを教えてください。この質問はあまりにも一般的で、未完成のように見えます。それ以外の場合は、モデレータのためにフラグが立てられます。
追加された 著者 Maarten Bodewes,
「サニタイズ」とはどういう意味ですか?削除するキャラクターは何ですか?
追加された 著者 Didier Ghys,
このスレッドを見てください。これはすでに以前に尋ねられています。 追加された 著者 Graymatter,

1 答え

ユーザーデータのサニタイズは出力の問題であり、入力の問題ではありません。

MySQLデータベースの「衛生的」とみなされるものは、必ずしもMSSQLまたはPostGreSQLの「衛生的」であるとは限りません。データベースの「衛生的」とみなされるものは、HTML文書で安全に送信できるものとほとんど同じではありません。 XHTMLは別の話です。ユーザーが提供するデータをjavascriptブロックまたはCSSブロックに出力する場合は、もう一度別です。すべての出力ターゲットに対してユーザーが提供するデータをサニタイズする方法はありません。

独自の正規表現を構築するのではなく、提供されたライブラリ関数を使用してデータをサニタイズする方がよいでしょう。 PHP(私はASP.netよりよく知っている) mysql_real_escape_string () ASP.netは、さまざまなデータベースで使用するためにユーザー提供のデータをサニタイズするためのライブラリ関数を持っていると確信しています。また、HTML用のユーザ提供データをサニタイズするためのライブラリ関数も用意されています。

Parameterised queries are even better than sanitising user-supplied data. And it can be done with ASP.net. This is the right way to use a database.

0
追加された