昨日、私のサイトがハッキングされました。ハッカーはなんとか管理エリアにログインし、彼の Web サイトへのリダイレクト リンクを含むブログを投稿しました。そこで、ログインを安全にするために少し助けを求めています。
これが私のスクリプトです:
$username = $_POST['username'];
$password = md5_base64($_POST['password']);
$stmt = $mysqli->prepare("SELECT id, username, password, permission FROM user WHERE username = ? AND password = ?");
$stmt->bind_param('ss', $username, $password);
$stmt->execute();
$stmt->bind_result($userid, $username, $password, $permission);
$stmt->store_result();
if(($numRows = $stmt->num_rows) > 0)
{
$response_array['status'] = "success";
$response_array['message'] = "Logged in";
}
else
{
$response_array['status'] = "error";
$response_array['message'] = "Sorry, Wrong Username/Password Combination" .$password;
}
md5_base64 関数は次のとおりです。
function md5_base64 ( $data )
{
return preg_replace('/=+$/','',base64_encode(md5($data,true)));
}
ヘルプ、アドバイス、改善は大歓迎です。