Tastypieを使用してユーザーの入力をサニタイズする最も効果的な方法は何でしょうか?今のところ、ユーザーがのように「」と入力すると、HTMLタグが保存されるので、表示されるときにはテキストが太字で表示されます。各リソースのobj_createを変更するだけでなく、どのようにすべての入力をサニタイズできますか?Tastypieサニタイズ入力?
また、私はウェブセキュリティの新しさであるため、フロントエンドでユーザーの入力を消毒する必要がありますか?私はtastypie APIにPOST要求を送る前に入力をサニタイズする必要があるかどうか、またはtastypieが入力を処理しているときに入力をサニタイズする必要があるかどうかはわかりません。
編集:<%=%>ではなく、<% - %>のデータを表示することで、アンダースコアテンプレートでHTMLをエスケープできることがわかりました。デフォルトでは、なぜこれを強調しないのですか?私はそれが大きなセキュリティリスクであるように感じます。 私はこれを間違ってどこかでやることを忘れてしまったら、私はうんざりです。
私は上記がフロントエンドのセキュリティ問題を解決すると思いますが、バックエンドはどうですか? SQLインジェクションに脆弱であるかどうかはわかりますか? POST/PUTリクエストを行うと、tastypieは入力をサニタイズしますか?
| safeでフィルタリングすると、Djangoテンプレートを参照していますか?私はモデルをレンダリングするためにDjangoテンプレートを使用していません。アンダースコアテンプレートを使用しています。また、私はモデルでmark_safe = Trueを持っていないので、どのようにHTMLタグが通過しているのですか?アンダースコアがHTMLをエスケープしていないかどうか分かりますが、DjangoはHTMLタグを保存しませんか? – egidra
上記のコメントについては心配しないでください。元の投稿を編集しました。 – egidra
私はコメントを残しています。デフォルトでDjangoは危険なコンテンツを表示することはありません。私はDBに格納する前に入力を変更しないだろう、私はそれを表示しないだろう。それは悪いデフォルトとアンダースコアを知って良い私たちではない! :)安全でない入力に起因するdjangoコアまたはtastypieには、既知のSQLインジェクションの脆弱性はありません。 SQLを呼び出す前に物事を適切にエスケープする –