この記事の例では、無効な PHP セッション検証の解決策について説明します。皆さんの参考に共有してください。具体的な方法は以下のとおりです。
1. 問題
今日、apache+phpの環境設定に時間を費やしましたが、その後、ログイン認証中に認証コードの画像が生成されることが分かりました。セッションが空であり、値がないことがわかりました。
2. 解決策
環境: apache+php
プログラムコードは次のとおりです:
<input name="username" type="text" class="input" id="username"> <input name="password" type="password" class="input" id="password"> <input name="ver" type="text" class="input1" id="ver" size="5"> <img src="../inc/ver.php" onclick="this.src='../inc/ver.php';" />
送信後、このpost.phpファイルを処理します
if($_SESSION['ssioner']!=$ssever){ echo("<script>alert('验证码必须由4位数字组成!');history.back();</script>");exit; }
検証コードが必要であることを要求し続けることがわかります4 桁の数字で構成され、それを出力します session:
echo $_SESSION['ssioner']; exit;
は常に空だったので、php 環境で設定されたセッション ファイル ディレクトリを考えました。今度は php.ini 設定ファイルを見つけ、
upload_tmp_dir
を見つけます。このディレクトリは
upload_tmp_dir="D:www.php.cntp" であることを確認しました。D ドライブを確認したところ、www.php.cn ファイルのみが存在し、tp ディレクトリが存在しなかったため、問題が見つかりました。 tp ディレクトリに移動し、Apache を再起動すると、tp ディレクトリに sess_i40gl0p4hfep5r69j67o1k26d01 ファイルがあることがわかり、再度ログインすると成功しました。