首頁 >後端開發 >php教程 >請問一下,laravel框架,怎麼做介面api,呼叫頻率及敏感請求參數的監控?

請問一下,laravel框架,怎麼做介面api,呼叫頻率及敏感請求參數的監控?

WBOY
WBOY原創
2016-12-01 00:56:332119瀏覽

<code>http://test.php
method:post
param:{"name":"12333","id":"2"}

需要监控的情况
1.如果用户进行创建数据或更新数据,就要监控
2.对价格进行修改需要监控,然后发有邮件通知接口负责人,"有人修改了商品价格"


目前已经实现了,
request:  uri  method ip port 的记录

param : 请求参数

result 响应接口

user_id 接口请求者</code>

請問還可以怎麼細化這個介面監控的,謝謝?

回覆內容:

<code>http://test.php
method:post
param:{"name":"12333","id":"2"}

需要监控的情况
1.如果用户进行创建数据或更新数据,就要监控
2.对价格进行修改需要监控,然后发有邮件通知接口负责人,"有人修改了商品价格"


目前已经实现了,
request:  uri  method ip port 的记录

param : 请求参数

result 响应接口

user_id 接口请求者</code>

請問還可以怎麼細化這個介面監控的,謝謝?

我簡單回答下,題主自行查閱相關文件

  1. 介面頻率的限制

    • Laravel 5.2以上自備 throttle 中介軟體控制

    • Laravel 5 可以用第三方擴充套件實作 https://github.com/GrahamCampbell/Laravel-Throttle

  2. 介面更新可以直接監聽 Eloquent 事件,相關事件文檔地址 https://laravel-china.org/docs/5.1/eloquent#events

    • 例如監聽 User 的 saving 事件,事件中判斷 User 的暱稱是否修改,簡要程式碼如下

    <code>User::saving(function(User $user){
        // 判断昵称是否修改
        if ($user->isDirty('nick_name')) {
            $old_nick_name = $user->getOriginal('nick_name'); // 原始值
            $new_nick_name = $user->nick_name;   // 新值
            Mail::raw("$user->name 把昵称 $old_nick_name 修改为 $new_nick_name"); // 发送邮件
        }
    });</code>
  3. 請求參數,可以針對每個介面定義每個 Request 的參數規則 rules,統一攔截處理

在程式碼裡不可以實現? 如果考慮效能,用訊息佇列不就可以了
或增加日誌唄,讓OP進行日誌監控,配對發郵件

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn