2012-05-12 15 views
0

ユーザーが編集したテキストエリアからのデータを管理するソリューションを検討しています。 基本的なHTMLタグ(リンク、太字、リストなど)を追加するチャンスをユーザーに与える必要があります。 私の大きな懸念はセキュリティです。 データはmySqlデータベースに保存されます。ユーザーが編集したテキストエリアからのデータを管理する

できるだけ多くのセキュリティ上の問題を避けるためのアドバイスはありますか? この種のテキストをデータベースに保存する最も良い方法は何ですか?

は、この問題を解決する最良の方法は、許可されたタグのホワイトリストを作ることであるあなたに

答えて

0

ありがとうございます。 JavaScriptを使用すると、無効なデータを入力していることをユーザーに警告できますが、コンテンツからデータを取り除く必要があるサーバー側でデータを保護することができます。たとえば、スクリプトタグは注意して処理する必要があります。あなたのユーザがそれらを入力し、他のユーザがそれを見ることができるようにするには、より複雑な処理が必要です。

ホワイトリストのタグをすべてエスケープし、他の文字を文字としてエンコードすると、<script>というタグが&lt;script&gt;になります。そうすれば、HTMLで出力した場合、有効なタグではなく、お互いの後ろに置かれた文字として見えます。

あなたの言語に合わせてより具体的な解決方法が必要な場合は、詳細を記入してください。これはグローバルな概念としては十分です。

+0

私は許可されたタグのホワイトリストについて考えていましたが、多くのオプション(h3 h4 h5太字のリストなどの基本的なタグのみ)をユーザに与えたくないからです。私はPHPを使用するつもりです。私は使用する準備ができているスクリプトを使用できると思いますか?データベースにデータを保存する最良の方法についてのアドバイスはありますか? – user1225730

+0

申し訳ありませんが、何とか通知が届きませんでした。私は事前定義されたスクリプトを使用することは問題ではないと思っています。そこにはすでにたくさんのことがあります。データベースにデータを保存するには、使用するスクリプトを信頼すればそれほど心配する必要はありません。あなたが許可するタグだけが入っていることを確認して、間違いなくすべての文字をエスケープしてください! –

関連する問題