djangoには、レールに液体が入っているように安全なユーザ編集可能なテンプレート言語がありますか?djangoには、レールに液体があるように安全なユーザ編集可能なテンプレート言語がありますか?
つまり、エンドユーザーはテンプレートコードをハックして危険なオブジェクトを何らかの形で出力し、ウェブサイトをハックすることはできません。
djangoには、レールに液体が入っているように安全なユーザ編集可能なテンプレート言語がありますか?djangoには、レールに液体があるように安全なユーザ編集可能なテンプレート言語がありますか?
つまり、エンドユーザーはテンプレートコードをハックして危険なオブジェクトを何らかの形で出力し、ウェブサイトをハックすることはできません。
液体はDjangoテンプレート言語に由来しているので、答えは「はい」です。ユーザーが提出したテンプレートをレンダリングし、必要に応じて処理することができます。しかし、セキュリティは開発者が気にするべきものです。テンプレートツールは、ユーザーが自分の入力をサニタイズして検証しない限り、ユーザーが足で撃つことができるようにする場合、あなたを保護しません。ここで
は、いくつかの良い読み取り、次のとおりです。http://www.djangobook.com/en/2.0/chapter04/
http://www.djangobook.com/en/2.0/chapter09/
http://loopj.com/2009/05/23/a-django-developers-views-on-rails/
テンプレート言語正しい方法を使用している場合:はい。
参照Djangoテンプレートタグやフィルタ:
例:
{{ evil_userinput }}
これは、ユーザー入力を直接印刷します。
{{ evil_userinput|escape }}
これはすべてのHTMLエンティティをエスケープするため、HTMLページに危険なコードを含めることはできません。
私の質問は、どうやって自分の足で自分を撃つのではないかと思いますか? – Blankman