假设你有一张表格。除非绝对必要,否则你不需要丑陋的验证码。
因此,您让用户提交表单,如果同一用户再次提交表单,则显示验证码,或其他任何内容。
是否可以检测第二次表单提交是否来自同一个用户?
我知道$_SERVER['REMOTE_ATTR']
(用户IP),但这可靠吗?由于此变量存储了用户发送的值,我猜任何机器人都可以伪造它,对吗?
答案 0 :(得分:1)
你可以去2条路线。您可以使用滚动csrf标记或在会话中存储标记。会话标志更直接:
session_start();
if(!isset($_SESSION['submit_flag'])){
$_SESSION['submit_flag']=true
//perform action...
}