限制表單提交的頻率

2021-08-27 01:49:09 字數 914 閱讀 3147

限制表單提交的頻率

在某些場景下某些表單提交可以不對使用者做任何限制,比如郵件訂閱,此時要防止使用者惡意提交資料,瘋狂訂閱。

我們要做的安全限制是:

乙個會話在1分鐘以內提交某個表單的次數不超過5次

// 次數限制方法

// @author zhanhailiang

// @param $type 'hwtrip_trip_mytrip_submit' | 'hwtrip_trip_mytrip_subscribe'

// | 'hwtrip_trip_ordertrip' | 'hwtrip_trip_send2friend'

// @param $max 預設為5

// @return 若1分鐘內提交次數超過上限$max,則返回false,否則返回true

public static function controlsubmittimes($type, $max = 5) else if(!empty($v) && $v < $max) else

return true;

}測試如下:

#!/bin/sh

counter=0

echo "+++++start+++++`date`+++++"

while [ "$counter" -lt 10 ]; do

curl -f php-mytrip-content=sfdasf -f php-username=sa****sf -f php-mobilephone=15986863636

echo "\n";

sleep 1

counter=$(($counter+1))

done

echo "++++++end++++++`date`+++++"

附閱讀:

如何設定乙個嚴格30分鐘過期的session

php form表單提交數量限制問題

在寫上傳form 多表單post提交時 出現了失敗的問題 1.首先確認表單正確,發現前段的核取方塊數量是夠的但是傳到後台就被部分截斷,這時候應該就是後台接受的問題 2.兩種情況 第一種是對表單提交資料的大小有限制,此處由於全是字串故表單資料很小,所以不是此原因。第二種就是php後台接受表單的變數數有...

控制表單重複提交和快速重新整理的原理

控制重複提交的原理是 表單裡有乙個jsp標籤,當請求包含這個表單的jsp頁面時,jsp標籤會生成乙個值,然後把這個值hidden到表單裡,同時也放進session裡,當使用者點提交按鈕時,伺服器端會取出session裡的值跟表單裡那個hidden進來的值比較,如果相同,表示沒有重複提交,執行業務邏輯...

前端限制表單值不為空,PHP照樣插入控制

有時候,在前端填寫表單內容的時候,要控制使用者必須填寫,不能留空。此時用js限制只能控制使用者,卻不能夠控制php插入空值到資料庫。使用者在提交表單時候,我們需要控制使用者必須輸入一些值,但是當使用者已經輸入值後,提交到php處理的時候,有時候能夠正確插入值 有時候會插入空值。function se...