<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 插件 插件操作是openstar使用的高級玩法,當使用現有的規則匹配無法實現自己想要的功能,就可以自己編寫`lua`代碼實現自己想要的功能。 # 編寫插件 ``` local ngx_say = ngx.say local stool = require("stool") -- 可以使用 cjson_safe 模塊進行 table 轉 json 字符串 local _M = { _VERSION = "0.01" } local function test(_base_msg , _tb_args) local re = "" for i,v in ipairs(_tb_args) do re = re .. v .. "</br>" end ngx_say(re) ngx_say("------------------</br>") ngx_say(stool.tableTojsonStr(_base_msg)) return "break" end _M.test = test return _M ``` 看一下實際引用(高級規則)和對應的注釋 ![](https://img.kancloud.cn/62/de/62de944e1f0d4e396f102cbfc2d7be31_755x540.png) * 函數名稱:test 截圖中函數名稱是`test`,那么對應插件代碼中 _M.test這個導出函數,至于等于的 test 函數,完全可以重命名為其他名稱。 * 傳遞參數 截圖中藍色框標識的參數就是傳遞給插件代碼中`_tb_args`這個值,這個是一個 table 類型,你可以傳遞一個復雜的 table **插件函數的編寫,一定要接受 2 個參數,第一個參數是 WAF 傳遞給他的 table , _base_msg 是一個table ,本次請求的所有值都在里面!!! 如果你要過濾某些參數,就可以從這里取出來,進行自己的過濾。** * 返回值插件支持 4 個 ``` return "break" ---> 直接返回給客戶端,也不會到源站 200 return "deny" ---> 執行拒絕操作(延續自定義攔截頁面) return "allow" ---> 后續規則都不會匹配,直接轉發到源站 return ---> 繼續后續規則 ``` # 效果 訪問 http://xxxxx//cap.test 得到的效果 ![](https://img.kancloud.cn/88/c8/88c849fc64c35b82e38f125467a9b152_1919x393.png)
                  <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>

                              哎呀哎呀视频在线观看