この検証 Cookie が役に立たないのはなぜですか?
クッキー
mysql_select_db("dhbase",$conn);$sql="select * from dh_admin where uname='$lname' and upass='$ckpass' and work=1";
$result=mysql_query($sql,$conn);
if(mysql_num_rows($result)<=0)
{
echo "账号情報有误";
終了;
}
else
{
$row=mysql_fetch_array($result);
$lid=$row["id"];
$ltime=date('y-m-d h:i:s',time());
$user_IP=@($_SERVER["HTTP_VIA"])?$_SERVER["HTTP_X_FORWARDED_FOR"]:$_SERVER["REMOTE_ADDR"];
$user_IP=($user_IP)?$user_IP:$_SERVER["REMOTE_ADDR"];
$lsql="INSERT INTO dh_alog(aid,logtime,logip) VALUES ('$lid','$ltime','$user_IP')";
if(!mysql_query($lsql,$conn))
{
die('Error: '.mysql_error());
}
setcookie("uname",$lname,time()+3600);
//echo $_COOKIE["uname"];
echo "<script>location.href='index_home.php';</script>";
終了;
}
この段階登陆验证并書込cookie 出出cookieも常です
次にindex_home.php这页面,该页面调用了验证页面admin_chk.php
代码如下:
if(isset($_COOKIE["uname"]))
{
echo $_COOKIE["uname"];
}
else
{
echo "<script>alert('温馨提示:您的权限已经超時,请重新登录');location.href='index.php'</script>";
終了;
}
?>
このコードのここに書き込みは完了していますか? 私はこれを試行します。 警告: 制限を超過しました、再新規登録します。
代码没何何么问题、
代案は何もありません。複数のブラウザでテストされています。 HP还跟浏览器有关啊?
これは IE と火狐を切り替えましたが、問題はありません
直接 admin_chk.php に $_COOKIE["uname"] が表示されます怎么回事哦,我这刚学 PHP就遇到这么奇怪的事啊
不知道你的 admin_chk.ph 代码是どのように写っている
cookie路径对么?
header("Content -タイプ: text/html;
session_start();
{
echo "<script>alert('温馨:您的权限已经超時,请重新登录');location.href='index.php '</script>";終了;
} ?>
これはadmin_chk.php 文件
その中index_home.php 和 admin_chk.php 不是在一目录下的
index_home.asp 参照:
include "inc/admin_chk.php"
?>
....
大神吃饭去了吗?
株式会社/ admin_chk.php 中有 setcookie("uname",$lname,time()+3600);
はこれですか?
那么
应写作
setcookie("uname",$lname,time()+3600, '/');
index_home.php がそのコードですが、その前に他に何かありますか?
前面は消えていますが、背面にいくつかの HTML コードがあります
ドキュメントのレイアウト
Index_home.php
inc/admin_chk.php
inc/admin_chk.php contains setcookie("uname",$lname,time( )+3600)
そうですか?
次に、
setcookie("uname",$lname,time()+3600);
setcookie("uname",$lname,time()+3600, '/'); と書く必要があります。 "uname ",$lname,time()+3600); この文は、ログインしてlogin_ck.phpを検証するときに書かれました
ログインインターフェイスは、ajax非同期login_ck.phpによって検証されます:
header(" Content-Type: text/html);
session_start();
$lname=$_POST["Loname"];
if($lname=="")
{
echo "ユーザー名を入力してください";
exit();
}
$lpass=$_POST["Lopass"];
if($lpass==""){
echo "パスワードを入力してください";
exit();
}
$lsx=$_POST["Losx"];
if($lsx=="")
{
echo "< red>パスワードを入力してください";
exit();
}
if($lsx!="dhsystem")
{
echo "パスワードエラー font>";
exit();
}
$lcode=strto lower($_POST["Locode"]);
if($lcode=="")
{
echo "確認コードを入力してください font>";
exit();
}
if($lcode!=strto lower($_SESSION["randcode"]))
{
echo "認証コード入力エラー ";
exit();
}
$ckpass=substr(md5($lpass),9,12);
$conn = mysql_connect("localhost","root","**** ***") ;
if(!$conn)
{
die('接続できませんでした: '.mysql_error())
}
$sql="select * from dh_admin where uname= '$lname' および upass='$ckpass' および work=1";
$result=mysql_query($sql,$conn);
if(mysql_num_rows($result)<=0)
{
echo "< font color=red>アカウント情報が間違っています";
exit;
}
else
{
$row=mysql_fetch_array($result);
$lid=$row["id" ];
$ltime= date('y-m-d h:i:s',time());
$user_IP=@($_SERVER["HTTP_VIA"])?$_SERVER["HTTP_X_FORWARDED_FOR"]:$_SERVER["REMOTE_ADDR "]; =($user_IP)?$user_IP:$_SERVER["REMOTE_ADDR"];
$lsql="dh_alog(aid,logtime,logip) の値に挿入 ('$lid','$ltime', '$user_IP')" ;
if(!mysql_query($lsql,$conn))
{
die('Error: '.mysql_error())
}
setcookie("uname",$lname,time() +3600); /echo $_COOKIE["uname"];
echo "<script>location.href='index_home.php';</script>";
mysql_close($ conn); ;
これはlogin_ck.phpです
ログインリクエストはinc/admin_chk.phpではありませんでしたか?
次に、inc/admin_chk.php に設定された cookie は inc ディレクトリ内でのみ有効です
bool setcookie ( string name [, string value [, intexpire [, string path [, string domain [, bool secure]]]]] )
パラメータ パス
説明 サーバー側の Cookie の有効なパス。
このパラメータが「/」に設定されている場合、Cookie はドメイン全体で有効になります。「/foo/」に設定されている場合、Cookie はドメイン内の /foo/ ディレクトリとそのサブディレクトリ内でのみ有効になります。 、/foo/ bar/ など。 デフォルト値は、Cookie が設定されている現在のディレクトリです。
わかりました。以前は ASP の PHP を使用していましたが、この Cookie にはまだパスの問題があります
ありがとうございます。
ログインリクエストは inc/admin_chk.php に送信されませんでしたか?
次に、inc/admin_chk.php に設定された cookie は inc ディレクトリ内でのみ有効です
bool setcookie ( string name [, string value [, intexpire [, string path [, string domain [, bool secure]]]]] )
パラメータ パス
説明 サーバー側の Cookie の有効なパス。
このパラメータが「/」に設定されている場合、Cookie はドメイン全体で有効になります。「/foo/」に設定されている場合、Cookie はドメイン内の /foo/ ディレクトリとそのサブディレクトリ内でのみ有効になります。 、/foo/ bar/ など。 デフォルト値は、Cookie が設定されている現在のディレクトリです。
ありがとうございます
私も勉強になりました

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。
