PHP のスーパー グローバル変数は、グローバル スコープでアクセスできる変数を指します。各スーパー グローバル変数は連想配列であり、$_GET、$_POST、$_COOKIE など、PHP で事前定義された多くの変数が含まれています。 。これらのスーパーグローバル変数は、フォーム データの取得、URL パラメータの取得など、ユーザーのリクエストから情報を取得する重要な方法を提供するため、Web 開発において非常に重要です。
この記事では、PHP でよく使用されるスーパーグローバル変数について、その機能、使用方法、セキュリティ問題の回避方法などを詳しく紹介します。
1. $_GET
$_GET は、URL を通じて渡されるすべてのパラメーターを含む連想配列です。たとえば、リクエストされた URL が http://example.com/index.php?name=John&age=25 の場合、$_GET 配列には次の要素が含まれます。
array( 'name' => 'John', 'age' => '25' );
以下の方法 これらの値:
echo $_GET['name']; // 输出 'John' echo $_GET['age']; // 输出 '25'
2. $_POST
$_POST は、POST メソッドを通じて送信されたすべてのフォーム データを含む連想配列でもあります。以下に示すように、これを使用してフォームからデータを取得できます:
<form action="process.php" method="post"> <input type="text" name="name" /> <input type="submit" value="Submit"> </form>
フォームを送信するとき、$_POST スーパー グローバル変数を使用して送信されたデータを取得できます:
echo $_POST['name'];
3. $_COOKIE
$_COOKIE は、現在のリクエストで送信されたすべての Cookie を含む連想配列です。ほとんどの場合、$_COOKIE 変数を使用して、以前に設定された Cookie を読み取ることができます。
setcookie('name', 'John', time() + (86400 * 30), '/');
これにより、ユーザーのブラウザに「name」という名前の値「John」を持つ Cookie が設定され、30 日後に期限切れになります。次のコードを使用して、Cookie の値を読み取ることができます。
echo $_COOKIE['name'];
4. $_SESSION
$_SESSION は、ユーザー セッション中に保存されたすべての変数を含む連想配列です。ユーザーが Web サイトにアクセスしたとき、$_SESSION だけがユーザーを区別します。
セッションにデータを保存するには、次のコードを使用できます:
session_start(); $_SESSION['name'] = 'John';
この方法で、セッション全体を通じて特定の値の状態を維持できます:
session_start(); echo $_SESSION['name']; // 输出 'John'
5. $_SERVER
$_SERVER は、現在のスクリプトの実行時のサーバーおよびクライアント関連の情報を含む配列です。 $_SERVER を使用すると、クライアントから要求されたいくつかの情報を知ることができます。例:
- リモート アクセス ユーザーの IP アドレス: $_SERVER['REMOTE_ADDR']
- ユーザー エージェント: $ _SERVER['HTTP_USER_AGENT']
- 現在のスクリプトのファイル パス: $_SERVER['SCRIPT_FILENAME']
- 現在のリクエスト メソッド (GET/POST): $_SERVER['REQUEST_METHOD']
- 現在のスクリプトが配置されているルート ディレクトリ: $_SERVER['DOCUMENT_ROOT']
この情報は開発者にとって非常に役立ちます。
6. $_FILES
$_FILES は、ファイル アップロード内のファイルに関する情報を含む配列です。ファイルをアップロードする場合、$_FILES を使用してアップロードされたファイルを操作できます。
次のコードを使用して、$_FILES の値を出力できます:
print_r($_FILES);
これにより、ファイル情報を含む配列が出力されます (例:
Array ( [file] => Array ( [name] => file.txt [type] => text/plain [tmp_name] => /tmp/phpzAduR5 [error] => 0 [size] => 123 ) )
7)。セキュリティの問題
PHP ではスーパーグローバル変数がデフォルトで有効になっており、開発者はそれらを使用して Web リクエストのデータを簡単に取得できます。ただし、これらはセキュリティ上の脆弱性の原因でもあります。
攻撃者は、Web リクエストでスーパーグローバル変数を使用して、悪意のあるコードを挿入したり、Web アプリケーションに脆弱性を作成したりする可能性があります。したがって、開発者は Web サイトを保護するために次の手順を実行する必要があります:
- 入力データをフィルターします。 PHP の filter_var() 関数または正規表現を使用して入力データをフィルタリングし、ユーザーが悪意のあるコードを挿入しないようにできます。
- 入力データを検証します。開発者は、すべての入力データを検証して、予想される形式と長さに準拠していることを確認する必要があります。たとえば、電子メール アドレスを処理する場合、filter_var() 関数を使用して、電子メール アドレスが正しい形式であることを確認できます。
- スーパーグローバル変数を SQL クエリまたはコマンドに直接渡さないでください。これは、SQL インジェクションやその他のセキュリティ問題を回避するための適切なプログラミング方法です。
- エラー報告を閉じます。運用サーバーでは、攻撃者がアプリケーション アーキテクチャに関する情報やその他の機密情報を入手できないようにするために、PHP のエラー報告機能をオフにする必要があります。
概要
PHP でスーパー グローバル変数を使用すると、Web リクエストのデータを簡単に取得できます。開発者はこれらの変数を注意深く理解し、Web アプリケーションの作成に使用する必要があります。ただし、開発者はスーパーグローバル変数のセキュリティ リスクも理解し、アプリケーションのセキュリティを確保するために必要な措置を講じる必要があります。
以上がPHP でスーパーグローバル変数を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

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

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









