<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # CSRF保護 HDPHP 框架支持表單令牌驗證功能,可以有效防止跨站請求偽造 (CSRF) 攻擊,當發生CSRF 攻擊提交非法表單時,系統會自動進行攔截。 [TOC] ## 配置文件 配置文件為config/csrf.php > 開啟調試模式時不進行csrf驗證 ## 表單令牌 在html 中的form 表單標簽中添加 {{csrf_field()}}標簽,系統會自動創建 一個隱藏表單用于提交令牌。 如果使用 View::make() 生成的頁面,可以不用添加 {{csrf_field()}} 系統會自動生成。 ``` <form method="POST" action=""> {{ csrf_field() }} //生成表單: <input type='hidden' name='csrf_token' value='...'/> ... </form> ``` ## X-CSRF-Token 除了將 CSRF 令牌作為 POST 參數進行驗證外,還可以通過設置 X-CSRF-Token 請求頭來實現驗證,系統的Csrf 中間件會檢查 X-CSRF-TOKEN 請求頭,首先創建一個 meta 標簽并將令牌保存到該 meta 標簽: ``` <meta name="csrf-token" content="{{ csrf_token() }}"> ``` 然后在 js 庫(如 jQuery)中添加該令牌到所有請求頭,這為基于 AJAX 的應用提供了簡單、方便的方式來避免 CSRF 攻擊: ``` $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); ``` ## X-XSRF-Token HDPHP 還會將 CSRF 令牌保存到名為 XSRF-TOKEN 的 Cookie 中,你可以使用該 Cookie 值來設置 X-XSRF-TOKEN請求頭。一些 JavaScript 框架,比如 Angular,會為你自動進行設置,基本上你不太需要手動設置這個值。 ## Ajax提交 如果是 SPA應用或 Ajax 請求時可以使用 {{csrf_token()}} 生的的令牌值提交到服務器。 以下是jquery示例代碼。 > 使用上面的 X-CSRF-Token 方法會更簡單些 ``` <script> $.ajax({ type: "POST", url: "test.php", data:"csrf_token={{csrf_token()}}&name=hdphp", success: function(msg){ alert( "Data Saved: " + msg ); } }); </script> ``` ## 關閉驗證 如果不希望令牌驗證,可以直接修改配置文件或通過配置服務臨時關閉令牌驗證。 使用Config::set()關閉令牌時需要寫在 global 中間件中,具體使用請 查看[中間件](http://www.hmoore.net/houdunwang/hdphp3/215212) 章節。 ``` Config::set('app.token_on',false); ``` ## 排除驗證 根據需要可以排除驗證的url,需要在 system/config/csrf.app 配置文件中修改 except 配置項即可,以下為示例代碼。 ``` 'except'=>[ 'host=4',//所有包含 host=4 的URL不進行csrf驗證 'id=[0-9]+',//支持正則排除,排除 id為數字的url ] ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看