为什么我在不使用php cURL发送用户名和密码的情况下访问管理面板
发布时间:2020-12-13 16:10:30 所属栏目:PHP教程 来源:网络整理
导读:我已经为实验制作了一个基本登录表单,并尝试使用cURL登录.我正在使用php.我确保没有人可以在没有登录(认证)的情况下进入主index.php页面.但是现在当我尝试使用cURL访问时,我得到了它.我认为我的登录和会话处理代码存在问题.我尽我所能,但没有得到任何解决方
我已经为实验制作了一个基本登录表单,并尝试使用cURL登录.我正在使用php.我确保没有人可以在没有登录(认证)的情况下进入主index.php页面.但是现在当我尝试使用cURL访问时,我得到了它.我认为我的登录和会话处理代码存在问题.我尽我所能,但没有得到任何解决方案.请帮忙解决这个问题.
提前致谢. 1.这是会话处理代码驻留在session.php中 <?php class session{ public static function init(){ session_start(); } public static function set($key,$value){ $_SESSION[$key] = $value; } public static function get($key){ if (isset($_SESSION[$key])) { return $_SESSION[$key]; } else{ return false; } } public static function cheaksession(){ self::init(); if(self::get("login") == false){ self::destroy(); header("Location: login.php"); } } public static function destroy(){ session_destroy(); } } ?> 2.这是登录表单代码驻留在login.php中 <?php include "lib/session.php"; session::init(); ?> <?php include "lib/Database.php"; ?> <?php include "helpers/format.php"; ?> <?php $db = new Database(); $fm = new format(); ?> <?php $err = 0; if ($_SERVER['REQUEST_METHOD'] == 'POST' ) { $username = $fm->validation($_POST['username']); $password = $fm->validation($_POST['password']); $username = mysqli_real_escape_string($db->link,$username); $password = mysqli_real_escape_string($db->link,$password); if($username == 'fahad' && $password == '1234') { session::set("login",true); session::set("username",$username); session::set("userId",1); header("Location: index.php"); } else{ $err = 1; } } ?> 3.这是会话检查的主页代码驻留在index.php中 <?php include "lib/session.php"; session::cheaksession(); ?> 这是cURL攻击代码 <?php $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,'http://localhost/Hackalgo/DummySite/index.php'); curl_setopt($ch,CURLOPT_HEADER,0); curl_exec($ch); curl_close($ch); ?> 通过执行这个脚本,我正在抓取上面(3)中提到的index.php的html页面.但是在index.php(3)中有一个会话检查器方法,它应该强迫我进入(2)中提到的登录页面login.php.但它不起作用,并且在登录页面(2)中没有任何身份验证的情况下爬网index.php(3). 解决方法
> curl默认不遵循重定向.
>在cheaksession调用之后,没有什么可以阻止PHP执行. 发送Location标头后调用exit()或左右. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |