安全PHP短登录API
我必须为Angular客户端执行登录API。我唯一需要的端点是登录。数据不是超敏感的,我只是想要一个简单的解决方案,足够安全,知道没有恶意的人可以轻易破坏它。 我有一些代码,但我肯定不是很好安全PHP短登录API,php,rest,Php,Rest,我必须为Angular客户端执行登录API。我唯一需要的端点是登录。数据不是超敏感的,我只是想要一个简单的解决方案,足够安全,知道没有恶意的人可以轻易破坏它。 我有一些代码,但我肯定不是很好 <?php $user = ""; $pass = ""; $user = $_POST['username']; $pass = $_POST['password']; $servername = "localhost"; $usernameDB = "root"; $passwordDB = ""
<?php
$user = "";
$pass = "";
$user = $_POST['username'];
$pass = $_POST['password'];
$servername = "localhost";
$usernameDB = "root";
$passwordDB = "";
// Create connection
$conn = new mysqli($servername, $usernameDB, $passwordDB, "myDb");
header( "Access-Control-Allow-Origin: *");
header( "Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
header("Content-Type: application/json; charset=UTF-8");
header ("Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE, PUT");
// Check connection
if ($conn->connect_error) {
die('{
"status": false,
"error":'.$conn->connect_error .'
}' );
}
$sql = "SELECT ID, Identificacion, Usuario, Contrasena FROM Usuarios ".
"WHERE RptReparto_Habilitado = 1 and ".
"Usuario = '". $user . "' and ".
"Contrasena = '". $pass . "'";
$res = $conn->query($sql);
if ( $row = $res->fetch_assoc() ) {
echo '{ "status": true,"id":'. $row['ID'] .' , "username": "'.$row['Usuario'].'", "identificacion": "'. $row['Identificacion'] . '"}';
} else {
echo '{
"status": false,
"error": "'.$conn->error .'"
}';
}
$conn->close();
?>
我建议您使用JWT。
这是一个仅基于令牌的身份验证系统。
首先,用户通过其登录进行身份验证
之后,仅使用web令牌保持“会话”打开。
必须为您在http头中使用angular发出的所有请求发送令牌
使用现有库更容易做到这一点谢谢!非常有用的信息,我不会标记为已回答,因为我仍然需要SQL注入的解决方案为了避免SQL注入,您可以使用PDO,您必须进行准备好的查询,PDO完成所有的REST,“最便宜的”选项是根本不使用任何身份验证。与其便宜,不如做对!我知道,最便宜又不乱,是最好的性价比选择