コンテンツページがmod_rewrite
で処理されているサイトで作業していて、mod_rewrite
でURLを管理するようにしようとしています。SQL injections
ユーザーは、このようなページの内容を作成することができますので、私は名前を持つことができるので、私は'
文字を挿入する必要がURLとmod_rewrite:多くの特殊文字を使用して攻撃からデータを保護する
http://site.com/architect/Giovanni+Dall'Agata
:
http://site.com/content-type/Page-created-by-user
を、彼らはのようなものを挿入したときに私の疑問が来ます有名な建築家のようなこのようなものですが、データを安全に保つことができるかどうか、そしてどのようにしてこの文字と一緒にSQL injections
を防ぐのか分かりません。
攻撃を防ぐために特に必要な作業はありますか?
私はこのようなPHP
でPDO class
を使用しています:
$architect = strip_tags (trim ($_REQUEST["architect"]));
// pdo class etc..
$pdo_stmt->bindParam (":arch", $architect, PDO::PARAM_STR);
// and the other code here...
ユーザーは、これらの文字を持つページを作成することはできません。< >/\ * ? =
は、私はあまりにも'
と"
を禁止すべきか? '
と"
のいずれか1つのみを許可する必要がありますか、それらを一緒に使用してサーバーを安全に保つことはできますか?
デザインの観点からは、アプリケーションの他のレイヤー(mod_rewriteルールなど)に頼るのではなく、可能な限りデータベースに近いSQLインジェクションを防ぐ必要があります。この点については、PDOでのバインドされたパラメータの使用を強くお勧めします。 – Schwartzie