私は PHP は初めてですが、全体的なプログラミングは行っていません。これで数週間困惑しています。
ログインが他のユーザーによって使用され始める Web サイトで作業しているため、その時点で回避策を使用できません。
これは、Cookie を設定するコードです。
ob_start();
...
session_register("myusername");
session_register("mypassword");
$cookiename = "loginsuccess";
$ipforcookie = $_SERVER['REMOTE_ADDR'];
$cookiedata = $myusername._.$ipforcookie;
$cookietime = time()+18000;
setcookie($cookiename, $cookiedata, $cookietime, '/', ".example.com");
...
ob_end_flush();
これは、Cookie が有効かどうかを確認するために使用するコードです。
if(isset($_COOKIE['loginsuccess'])){
$arr = explode("_", $_COOKIE['loginsuccess']);
if(strcmp($arr[1], $_SERVER['REMOTE_ADDR']) == 0){
require("headerLogged.php");
}else{
require("header.php");
}
}else{
require("header.php");
}
Cookie があるかどうか、および IP が一致するかどうかを確認します。これは、誰かが Cookie を自分のコンピューターまたはそのような基本にコピーしようとした場合に備えています。
問題は、ログインでき、確認したすべての場所に Cookie が登録されていることです... 約 2 時間です。その後、Webサイトはそれを受け入れなくなり、Cookieを削除した後でも、関数呼び出しを変更しない限り、新しいCookieは作成されません...
setcookie($cookiename, $cookiedata, $cookietime, '/', ".example.com");
に
setcookie($cookiename, $cookiedata, $cookietime, '/');
その後、ログインと検証が再び機能します。2時間ごとに必要に応じて繰り返します。これ以上これを行うことはできません。コードやサイトへのアクセスに関する知識がなくても、他の人がこのログインを使用し始めるからです。
編集:私が今それを後で変更したとき、それは検証できましたが、それが作成されたサイトの一部でのみ(やや明らかに、おそらく).
十分な情報を提供できたことを願っています。また、この問題に関連して、あなたが喜んで私を助けてくれることに感謝します。なぜなら、私が提供した少量のコードでさえ、私の初心者ステータスを明らかにしていると確信しているからです。いずれにせよ、お時間をいただきありがとうございました。