首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使此登录不受攻击

问如何使此登录不受攻击
EN

Stack Overflow用户
提问于 2015-05-30 22:40:50
回答 1查看 66关注 0票数 0

他们告诉我,这个登录是脆弱的,但我不知道如何使它安全,我寻求帮助,如果有人想帮助我,我真的很感激。

当我在它输入的登录表单中将"1‘或1=1限制1#“添加到密码中时。

以下是代码:

​

代码语言:javascript
复制
<?php
session_start();
include 'inc/header.php';
include 'panel_funciones.php';

$usuario = $_POST["nombre"];
$pass = $_POST["pass"];
try {
	$bd = new PDO("mysql:host=localhost;dbname=b9_16267033_1","b9_16267033","12346");
	$bd->query("SET NAMES 'utf8'");
} catch (Exception $e){
	echo "No se ha podido conectar";
	exit;
}
try{
        $sql= "SELECT usuario, pass FROM usuarios WHERE usuario='$usuario' and pass='$pass'";
}catch(Exception $e){
	echo "Error en consulta";
	exit;
}
$iniciosesion = $bd->query($sql);
$result = $iniciosesion->fetchAll();
$contar = count($result);

// AQUI COMIENZA COMPROBACIÓN
if ($_SESSION['Logueado'] = TRUE) {
	panel();
}
elseif ($contar == 1) {
	$_SESSION['Logueado'] = TRUE;
panel();
}
else{
	echo "El usuario o contraseña es incorrecto";
}
include 'inc/footer.php';
?>

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-30 22:55:05

本页有几个众所周知的问题:

  1. SQL注入 $sql= "SELECT usuario,从usuario='$usuario‘和pass =’$pass‘的使用中传递出去“; 问题在于您使用文本处理来在查询中插入某些内容。现在假设我修改我的密码,并指定它为' or 'a'='a',在这种情况下,我可以进入。因为'a'='a'。此外,它还允许我执行各种查询。就像'; DROP TABLE usuarios。最好始终使用准备语句(或类似的东西),在这里您不自己输入参数。准备好的语句将转义参数,因此不能将SQL注入这些参数。 您应该使用准备好的语句;类似于: $sql= "SELECT,从usuario=?和pass=?处传递出去“;$stm =$bd->$stm($sql);$stm->execute(数组($usuario,$pass));$result = $stm->fetchAll();$contar = count($result);
  2. 未散列密码:这里是密码哈希手册。永远不要存储密码本身。假设一个黑客在你的网站上发现了一个弱点,并且设法管理了你的数据库,那么你就会迷失方向。黑客可以复制所有密码并很容易修改它们。此外,有许多用户在所有应用程序中使用相同的密码,使得入侵其他网站更加容易。
  3. 您发现自己的第三个方面是if语句中的赋值: 如果($_SESSION‘’Logueado‘= TRUE) { == (){$_SESSION’‘Logueado’= TRUE; 在这里,将TRUE分配给您的$_SESSION变量。一个更好的办法是: if($contar == 1) {$_==‘’Logueado‘= TRUE;}if($_==’‘Logueado’){==();

另一个方面:你不能让网页不受攻击:黑客最终很有可能会找到规避许多保护措施的方法。保安不是“是”或“否”。关键是,你必须让大多数黑客在绕过安全方面失败是非常困难的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30552066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档