私はすべてを試しました。独自の PHP 関数 sanitizeString() を使用して、文字を削除し、入力文字列を好きなようにサニタイズします。これには、mysqli_real_escape_string、preg_replace、str_replace、および html 特殊文字があります。$_POST 変数の周りでこの関数を呼び出します
$string = sanitizeString( $_POST["user input that could include legit url's"] );
function sanitizeString ($dirtystring)
{
cleaning code
return $cleanstring
}
問題は、さまざまな変数にある複数の URL を保存しようとすると、送信時に一貫性のない mod_security が取得されるように見えることです。
$website_url1 = sanitizeString ( $_POST["website1"] );
$website_url2 = sanitizeString ( $_POST["website2"] );
$website_url3 = sanitizeString ( $_POST["website3"] );
または、 ' 、 [ ] > などが多すぎる場合は、 enctype="application/x-www-form-urlencoded" charset=UTF-8 を使用しています
アポストロフィ、ダッシュ、大なり記号のコロン、感嘆符、コンマ、およびその他の人が通常入力するものを混ぜ合わせた実際の汚い情報を入力すると、さまざまな結果が得られます。フォームが文字を評価して削除することもあれば、評価の前に mod_security を取得することもあります。
modsecurity をスローするサンプル データを次に示します。
=== 冒頭のデータ例 === はい!それはさらに良いです。ぜひ一緒に働きたいです。準備ができたらお知らせください。次のステップについてお話しできます。
ありがとう、t.
22/22/22、午前 2 時 22 分、顧客 x は次のように書いています。
こんにちは - ありがとうございます。私は何人かの会社の元従業員と仕事をしているので、今のところ非常に不確実であることを知っています. 大変申し訳ございません。何人かの優秀なコーチ/レジュメ ライターをお勧めできることをうれしく思います。また、あなたが私と直接仕事をしたいのであれば、私は自分のサービスを立ち上げる準備をしているところです. あなたの好みを教えてください。正しい方向に向けることができます。気をつけて!お客様
22/22/22 午前 2 時 22 分:
こんにちはクライアント、現在、私の仕事ではかなりの変化が起こっており、発生する可能性のある新しい機会に備えたいと思っています. 次のキャリアの動きを明確にするために、本当に優れた履歴書ライターとキャリア コーチの両方を探しています。使用したことのある、または強くお勧めする人はいますか? http://website1.com ... http://website3.com
=== データ例の終わり ===
情報を解析して URL を変換したい。時々動作しますが、この単純なサンプル データは、サニタイズする前に送信時に modsecurity をスローします。