我正在使用强力检查器构建登录脚本,当触发时,将显示reCAPTCHA.我遇到的问题是,当输入正确的用户名/密码/验证码响应时,登录脚本会运行,但直到大部分页面内容已加载(这在提交表单后发生).结果是我必须按F5刷新页面并重新提交表单数据,以便在页面开始加载时会话处于活动状态.
现在,我遇到的问题是,一旦表单被提交(当它需要CAPTCHA时),会话直到index.php到达时才开始
else {
$captchaResponse = 1;
$auth = Auth::verifyPass($userName,$password,$captchaResponse);
}
Run Code Online (Sandbox Code Playgroud)
我很难过如何重新组织这个,以便会话在此之前开始.有任何想法吗?
第一部分是index.php页面,其中包含在检测到强力尝试时触发的代码.代码的这一部分以条件if开头($ auth ==="bruteForce")此代码显示reCAPTCHA并且应该提交用户名,密码和reCAPTCHA响应代码(0-错误响应,1-correct response)返回登录功能.
<?php
include('includes/header.php');
spl_autoload_register(function ($class){
include 'includes/class.' . $class . '.php';
});
if(null !==(filter_input(INPUT_POST,'userName'))){$userName = filter_input(INPUT_POST,'userName');}
if(null !==(filter_input(INPUT_POST,'password'))){$password = filter_input(INPUT_POST,'password');}
if(isset($userName)&& isset($password)){
$auth = Auth::verifyPass($userName,$password);
}
if(isset($_GET['logout']) && $_GET['logout'] == true){
session_start();
session_destroy();
setcookie ("PHPSESSID", "", time() - 3600, "/");
header("Location: index.php");
}
if(Auth::checkLoggedIn() === true){
if(session_id() !== ''){echo 'Session ID is not blank<br />';}
echo '<a href="index.php?logout=true">Logout</a><br />';
echo 'Welcome! This is protected content!' …Run Code Online (Sandbox Code Playgroud)