>  기사  >  백엔드 개발  >  Yii는 중간 및 백엔드에서 세션을 사용하여 반복적인 제출 및 홍수를 방지합니다.

Yii는 중간 및 백엔드에서 세션을 사용하여 반복적인 제출 및 홍수를 방지합니다.

伊谢尔伦
伊谢尔伦원래의
2016-11-26 13:59:551068검색

1. 프론트엔드 관점에서: 마스크 추가

2. 백엔드 관점에서: 세션 사용

$session = Yii::app()->session;
$user_id = Yii::app()->user->id;
$sessionKey = $user_id.'_is_sending';
if(isset($session[$sessionKey])){
    $first_submit_time = $session[$sessionKey];
    $current_time = time();
    if($current_time - $first_submit_time < 10){
        $session[$sessionKey] = $current_time;
        $this->response(array(&#39;status&#39;=>1, &#39;msg&#39;=>&#39;不能在10秒钟内连续发送两次。&#39;));
    }else{
        unset($session[$sessionKey]);//超过限制时间,释放session";
    }
}
//第一次点击确认按钮时执行
if(!isset($session[$sessionKey])){
    $session[$sessionKey] = time();
}


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.