<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 攻擊 cross site request forgy(跨站請求偽造) # CSRF 攻擊原理 ![](https://img.kancloud.cn/40/4b/404bfefdc480d2ecb8a88db564fa78bc_2498x862.png) # CSRF 攻擊危害 * 利用用戶登錄態 * 用戶不知情 * 完成業務請求 * 盜取用戶資金(轉賬、消費) * 冒充用戶發帖背鍋 * 損壞網站名譽 # 攻擊特征 * B網站向A網站請求 * 帶A網站Cookies * 不訪問A網站前端 * (http頭中)referer為B網站 # 攻擊防御 * “帶A網站Cookie” : 禁止第三方網站帶Cookies > set-cookie 的時候對`samesite`屬性的設置(strict / lax / none) * “不訪問A網站前端” : 在前端頁面加入驗證信息 > * 驗證碼 > 生成圖形驗證碼:ccap 插件 (npm install ccap -S) > > * token > 后端生成一個隨機串`csrf-token`,以`set-cookie`以及**頁面內容**的方式發給前端(前端頁面可以保存在表單的隱藏域中,也可以保存在meta域中),前端在請求體和請求頭的cookie中分別發送該隨機串給后端,后端驗證是否一致。 * “referer 為B網站”:驗證 referer,禁止來自第三方網站的請求 > node 環境 koa 框架下獲取referer:ctx.request.headers.referer # PHP 防御 CSRF * Cookie 的 samesite 屬性 ``` // 由于php中的 setcookie() 函數不能設置 samesite 屬性,所以我們用 header() 函數 header('Set-Cookie: test=1234; SameSite=Lax'); ``` * HTTP referer 頭 ``` if ( $_SERVER['HTTP_REFERER'] && strpos($_SERVER['HTTP_REFERER'], 'http://testdomain.com') === 0 ) { } ``` * token ``` if ( $_POST['csrfToken'] === $_COOKIE['csrfToken'] ) { } ```
                  <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>

                              哎呀哎呀视频在线观看