私はText
がPOSTテキストエリアであると言います。その分野で私は何を書いてもいいと思う。 XSS、SQL、およびその他の最終的な不良コードなど。マークアップではBBCodeを使用しますので、コードを表示せずに表示したいと考えています。
もちろん、私が避けたいのは、DBが壊れてしまうことです! 非常に安全これを行う方法はありますか?データベースに書き込まなければならない入力を保護する手順は?
私が実際に行う手順は次のとおりです。
には、Content-Typeと文字セットを指定し
Content-Type: text/html; charset=UTF-8
リミット入力。
Ex.: Max 500 characters
使用にhtmlentities()
$GoodText = htmlentities($Text, ENT_QUOTES, "UTF-8");
mysql_real_escape_stringの使用()
$GoodText = mysql_real_escape_string($GoodText);
ストアそれ私の知る限りは、ステップ3を読み、4であるとしてDB
$db->store($User, $GoodText);
で全く同じですが、私は説明をしたいと思います。
とにかく、これは動作する方法ですか?
POSTフォームにもトークンを使用する必要がありますか?あなたのための
これは簡単ですか?ちょうどmysql_real_escape_string? – eij
@eij:後でやることを忘れるまで、今は簡単です。 –
mysql_real_escape_stringで十分ではありません:http://ilia.ws/archives/103-mysql_real_escape_string-versus-Prepared-Statements.html –