키릴 문자를 사용하여 로그인 시스템에 사용자 이름과 암호를 삽입하는 데 문제가 있습니다.사용자 인증에서 키릴 문자를 인식하지 못합니다
암호가 SHA1로 디코딩됩니다. 키릴 문자로 사용자를 만들면 암호가 작동하지 않습니다!
내가 특별한 것을 삽입해야한다고 말할 수 있습니까?
코드 :
<?php
define(DOC_ROOT,dirname(__FILE__)); // To properly get the config.php file
$username = $_POST['username']; //Set UserName
$password = $_POST['password']; //Set Password
$msg ='';
if(isset($username, $password)) {
ob_start();
include(DOC_ROOT.'/config.php'); //Initiate the MySQL connection
// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($username);
$mypassword = stripslashes($password);
$myusername = mysqli_real_escape_string($dbC, $myusername);
$mypassword = mysqli_real_escape_string($dbC, $mypassword);
$sql="SELECT * FROM login_subadmin WHERE user_name='$myusername' and user_pass=SHA1('$mypassword')";
$result=mysqli_query($dbC, $sql);
// Mysql_num_row is counting table row
$count=mysqli_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "admin.php"
session_register("myusername");
session_register("mypassword");
header("location:index.php");
}
else {
$msg = "Wrong Username or Password. Please retry";
header("location:login.php?msg=$msg");
}
ob_end_flush();
}
else {
header("location:login.php?msg=Please enter some username and password");
}
?>
감사합니다!
표시 할'code'가 있습니까? –
이 정보를 저장하는 데이터베이스의 종류는 무엇입니까? 그것은 키릴 문자를 받아들이도록 포맷되어 있습니까? – TNC
내가 사용하는 데이터베이스에서 키릴 문자를 사용할 수 있지만 키릴 문자는 인쇄 할 수 있지만 sha1 이후 데이터베이스의 암호 필드에 이상한 문자가 들어간다. – Albana