Javascript 这个php登录系统安全吗?
这个登录页面安全吗,正在研究sql注入,是否存在漏洞?如果是,我该如何管理它 我以前将用户的详细信息加密到一个文件中,并将其存储在本地。我还使用localhost,考虑移动到一个域。在文件中存储用户详细信息是否有任何问题?Javascript 这个php登录系统安全吗?,javascript,php,sql,security,session,Javascript,Php,Sql,Security,Session,这个登录页面安全吗,正在研究sql注入,是否存在漏洞?如果是,我该如何管理它 我以前将用户的详细信息加密到一个文件中,并将其存储在本地。我还使用localhost,考虑移动到一个域。在文件中存储用户详细信息是否有任何问题? 请忽略html <?php session_start(); ?> <html> <body> <form method="post" action="<?php echo $_SERVER['
请忽略html
<?php
session_start();
?>
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<input type="text" name="Username"value="">
<?php if ($_SERVER["REQUEST_METHOD"] == "POST"){
$user = $_REQUEST['Username'];
} ?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<input type="password" name="Password"value="">
<?php if ($_SERVER["REQUEST_METHOD"] == "POST"){
$password = $_REQUEST['Password'];
}
if (isset($_POST['submit'])) {
$file = $user.".txt";
if (file_exists($file)){
$contents = file_get_contents($file);
$ciphering = "AES-128-CTR";
$iv_length = openssl_cipher_iv_length($ciphering);
$options = 0;
$decryption_iv = '#secret#';
$decryption_key = "#key#";
$decryption= openssl_decrypt ($contents, $ciphering,
$decryption_key, $options, $decryption_iv);
if($decryption==$password){
echo("details match");
setcookie("username", $user,time()+2000);
$_SESSION["logged_in"] = true;
$_SESSION["username"] = $user;
header("Location:/login/new folder/findchat.php?username");
exit();
}
else{
echo('Complete im not a robot');
}
}
else{echo("pasword or username is not valid");}
}
?>
<input type="submit"value="submit"name="submit">
</body>
</html>
对我的拼写错误表示歉意,谢谢哇,这太糟糕了。存在大量漏洞。以下是我第一眼看到的:
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
琐碎的目录遍历
$decryption= openssl_decrypt ($contents, $ciphering,
$decryption_key, $options, $decryption_iv);
if($decryption==$password){
你应该散列密码,而不是加密密码
您唯一没有的漏洞是SQL注入,这是因为您不使用任何SQL。更适合于代码检查。表单中有HTML语法错误。我不会对你的代码的其余部分发表评论,因为它只是自以为是。你也在头文件之前输出。你的代码应该放在这里,你错过了什么。看我的评论。@FunkFortyNiner我说的是“乍一看”,不是“详尽的列表”。哈哈!我不是故意那样假装的。我应该微笑或眨眨眼说出来D
$decryption= openssl_decrypt ($contents, $ciphering,
$decryption_key, $options, $decryption_iv);
if($decryption==$password){