XSS攻撃
ハッカーによるクロスサイトスクリプティング攻撃は、ページ内の不安によって引き起こさページ障害をjsのコードを挿入します。
安全でないパフォーマンス:ユーザーがサイトにアクセスする場合は、クッキーjsのコードを取得するには、Webページに挿入されたハッカー場合は、ハッカーがユーザーのクッキー情報を取得することができ、ハッカーができます偽の情報利用者へ。
安全なフロントエンドとバックエンドのmark_safeがあります
ユーザーがページ上の書き込みjsのコードを挿入し、というように(コードの変更)、追加したい場合は、それは安全で追加したりしないでください、それは私たち自身のコースに加えて、安全を書くことであれば、ろ過jsのコードと、バックグラウンドで他の作品を作るために覚えていることができるかどうかということに注意することは安全な使用とにかく上
mark_safe時間を使って、ユーザーのデータが時に処理する必要があります
Djangoのデフォルトでは、私たちに、この層のXSS攻撃防止を与えました
例:シミュレートされたユーザー入力の影響は、JSコード入力ボックスをもたらしました
CSRFミドルウェアは、ここでは、設定ファイルでコメントアウトすることができます
1 ""」djangoxss URLの設定 2 3 : `urlpatterns`リストルートのURLビューの詳細については参照してください。 4 https://docs.djangoproject.com/en/2.1/topics/http/urls/ 5 例: 6 機能ビュー 7 1.インポートを追加します。MY_APPインポートビューから 8 2. urlpatternsにURLを追加します。パス(「」、views.home、名前=「ホーム」) 9 クラスベースのビューを 10 1.インポートを追加しますからother_app.viewsはホームインポート 11 パス( ''、Home.as_view()、名前= '自宅'):urlpatternsにURLを追加します。2. 12 別のURLconfを含む 13を 含まdjango.urlsインポートから、パス:1.インポートインクルードは()関数が含ま 14 パス( 'ブログ/'、( 'blog.urlsを'を含む)):2. urlpatternsにURLを追加します。 15 ""」 16 からジャンゴ。 contrib インポート管理者 17 から django.urls インポート経路 18 から app01 インポートビュー 19 20 urlpatterns = [ 21 パス(' 管理/ ' 、admin.site.urls)、 22 パス(' インデックス/ ' 、views.index)、 23 パス(' コメント/ ' 、views.comment)、 24 パス(' テスト/ ' 、views.test)、 25 ]
1 から django.shortcutsはインポートレンダリング 2 。3 MSG = [] 。4 。5 。6 DEFの:コメント(Request)を 7。 IF request.method == ' GET ' : 8。 戻るレンダリング(要求、' comment.html ' ) 。9 他: 10 m個request.POST.get =(「コンテンツ」) 11。 IF 「スクリプト」 で M: #1 もちろん、これは行くために、よりシンプルな決意jsのコードである 12を リターン(要求、レンダリング' comment.html ' { ' エラー':' 小逼崽子黑我' }) 13 他: 14 msg.append(m)が 15 リターンレンダリング(要求、' comment.html ' ) 16 17 18 DEF 指数(要求): 19 リターンレンダリング(要求、' index.htmlを' { ' MSG ' :MSG}) 20 21 22 デフ試験(リクエスト): 23 から django.utils.safestring インポートmark_safe 24 TEMPは= " <a href='http://www.baidu.com'>百度</a>を" 25 newtempを= mark_safe(TEMP) 26 リターン(レンダリング要求、' テスト.htmlの' { ' TEMP ':newtempを})
<!DOCTYPE HTML> <HTML LANG = "EN"> <HEAD> <メタ文字コード= "UTF-8"> <タイトル>インデックス</ TITLE> </ HEAD> <BODY> <H3>评论信息</ H3> {MSG%の内のアイテムの%} の<div> {{アイテム| 安全}} </ div> {%ENDFOR%} </ BODY> </ HTML>
<!DOCTYPE HTML> <HTML LANG = "EN"> <HEAD> <メタ文字コード= "UTF-8"> <タイトル>コメント</ TITLE> </ HEAD> <BODY> <フォームアクション= "/コメント/"方法= "POST"> {%csrf_token%} <P>の<input type = "text"の名= "コンテンツ"> </ P> の<input type =値を"送信" = "提交"> </ FORM> </ボディ> </ HTML>
<!DOCTYPE HTML> <HTMLのlang = "EN"> <HEAD> <メタのcharset = "UTF-8"> <タイトル>テスト</タイトル> </ HEAD> <BODY> {{TEMP}} </ BODY> </ HTML>