ログインにセッションを使用しています。管理画面のすべてのページに、ユーザーがログインしているかどうかを確認するチェッカーがあります。私はこのコードを持っています
if(!$_SESSION['loggedin'] && !$_SESSION['userid'])
{
header('Location:login.php');
}
else
{
//proceed loading the page
}
今何が起こっているのか、誰かが私たちのサイトを台無しにしています。彼/彼女は、ウェブサイトに次のような下品なテキストを入力しています。ユーザー名とパスワードがハッキングされていたと思います。そこで、すべての管理者ユーザーにすべてのパスワードを変更するように依頼し、誰が Web サイトのコンテンツを更新するかを監視するためのロガーを追加しました。ログインしたユーザーのユーザー ID とその投稿を記録します。パスワードを変更した後、同じことが再び起こります。ハッカーまたは彼が誰であれ、コンテンツが更新されました。
ログを確認しましたが、ハッカーのユーザー ID は 0 です。どうすればそれが可能で、どうすれば彼を止めることができますか? $_SESSION['userid'] に値がない場合、ログインページにリダイレクトする必要があるというのがページの一番上にある私の状態であるため、彼は何をしたのだろうかと思います。
現在、ハッカーがますます悪くなっているため、ウェブサイトをオフラインにしています。そのIPアドレスを知ることができました。
これが私のユーザー認証です
$user=trim($_POST['username']);
$pass=trim(stripslashes($_POST['password']));
$sql="SELECT * FROM users WHERE user='$user' AND pass='$pass'";
$qry=mysql_query($sql) or die (mysql_error());
if( mysql_num_rows($qry) )
{
$row=mysql_fetch_assoc($qry);
$_SESSION['userid'] =$row['userid'];
$_SESSION['loggedin']=1;
header('Location: welcome.php');
}
else
{
header('Location:login.php?error=1');
}