1

ユーザーが Mysql クエリで使用される独自の REGEXP パターンを挿入できるようにすることを検討しています。私は sql インジェクションのリスクを十分に認識しており、正規表現パターンの値を引数として準備済みステートメントに渡す方法がないことも知っています。

ユーザーがSQLクエリで独自の正規表現パターンを安全に提供できるようにする防水的な方法はありますか、それともこの考えを放棄する必要がありますか?

ところで、私は PHP で作業しているので、基本的には、PHP でパターンが有効で、本物で、無害であることを確認できるかどうかを尋ねています。

4

2 に答える 2

1

良い質問!一般的に、ユーザーは「本物の」正規表現を入力するほど十分な「教育を受けていない」ことを経験しました。「標準」ユーザーは、アスタリスクがすでに非常に複雑であると考えています。のようなパターン/^([^[0-9]+\s[a-z]*)/iは、「平均的な」ユーザーによって使用されることはほとんどありません。より単純なメタ文字をワイルドカードとしてユーザーに提供することをお勧めします。ツールを管理者ツールとして使用したい場合を除いて...自分が何をしているのかを知っている人向けです。

于 2013-08-06T22:40:19.303 に答える