みなさん、こんにちは!最近phpを勉強し始めました。 ログインインターフェイスとは、アカウントとパスワードがデータベースと同じである場合に、セッション=ユーザー名を与えます
その後、各インターフェイスでユーザーが正当なユーザーであるかどうかを確認します。 php
コードの主な意味は、セッションが空の場合、プロンプトは不正ですが、セキュリティが非常に悪いことがわかりました。何か良いアイデアやコードはありますか? ありがとう
ありません。初心者のためポイントが多くてごめんなさい
ディスカッションに返信(解決策)
session はグローバル変数なので、どこでも使用できます ページはセッションが存在するかどうか、および値があるかどうかを確認します
Sessionグローバル変数。セッションが存在するかどうか、および任意のページに値があるかどうかを確認できます
私のオリジナルの checkA..PHP は次のように記述しました
session_start()
if($_SESSION[admin_name]= =""){
echo "<script>alert('申し訳ありませんが、正しいチャネルを通じてボカオ図書館管理システムにログインしてください!');window.location.href='login .php';</script>> ;";
}
?>
しかし、それは危険な気がします。外部フォームが不正に送信された場合、seession== "any content" を使用することで実行できます。どうすれば変更できますか?
php のバージョンをお知らせください
if($_SESSION[admin_name]==""){
と書く必要があります
if(! isset ($_SESSION[ 'admin_name'])){
間違った 5.3.4
外部フォームが不正に送信された場合、session== "any content" を使用して実行できます それはあなたのものですか想像ですか、それとも本物ですか?
フォームが外部から不正に送信された場合、session== "任意のコンテンツ" を使用して実行できます 私の checkA のコードは想像ですか?
以下の通り
//権限の検証
//2014-3-20
//by liu
session_start();
if ($_SESSION['username']==""){
echo "< ; スクリプト言語='javascript'>alert('不正な操作です! ');location='http://127.0.0.1/admin/index.php';";
}
?>
ログインコードは以下の通りです
//ログイン情報を確認します
//2014-3-24
//by liu 1s
session_start();
include_once 'connss.php';
//if($_POST['submit']){
$username=$_POST ['ユーザー名 '];
$userpasswd=$_POST['answers'];
$userpasswd=md5($userpasswd);
$sql="select * username=' $username'";
$query=mysql_query($sql);
$row=mysql_fetch_array($query);
if ($row['answers']==$answers){
if($row[ 'username' ]==$username){
if($row['userpasswd']==$userpasswd){
$_SESSION['username']=$username;
echo "";
}}
else {
echo "";
}}
else {
echo "";
}
?>
各ページの前に checkA.php をインクルードします
次に、外部送信とコンテンツを模倣する新しい php を作成しますフォームはニュースを追加するために使用され、 session_start(); で始まります。
正常に送信できることがわかりました。 ['username']="123 ";
は php プログラムであり、送信できるフォームではありません
もちろん、誰かがあなたのサーバーにアクセスしてプログラムを変更する場合は別の話になります
session_start();
$_SESSION['username']="123";
これは送信できるフォームではなく、php プログラムです。
もちろん、誰かがあなたのサーバーにアクセスしてプログラムを変更するなら、それは別の問題です
私がこのように書いた checkA.php が安全かどうかを聞きたいだけです。安全でない場合、どうやって変更すればよいですか? ありがとうございます
安全なはずです
安全なはずです
他に何かアイデアはありますか
勉強になりました! ! !

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

tostoreauser'snameInappession、starthessession withsession_start()、thensignthenameto $ _session ['username']。1)ousession_start()toinitializethessession.2)assighttheuser'snameto $ _ session ['username']

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









