限制表單提交的頻率
在某些場景下某些表單提交可以不對使用者做任何限制,比如郵件訂閱,此時要防止使用者惡意提交資料,瘋狂訂閱。
我們要做的安全限制是:
乙個會話在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...