Acronis Disk Director Suite 10 PHP スクリプトに関する 10 のヒント 5
PHP によるユーザー認証
スクリプトごとにパスワード保護を実装したい場合は、header() 関数を $PHP_AUTH_USER および $PHP_AUTH_PW グローバル変数と組み合わせて使用し、基本的な認証スキームを作成できます。典型的なサーバーベースの認証要求/応答ラウンドは次のようになります。
1. ユーザーが Web サーバーにファイルを要求します。ファイルが保護領域内にある場合、サーバーは応答ファイルのヘッダーに 401 (違法ユーザー) 文字列を追加して応答します。
2. ブラウザが応答を確認すると、ユーザー名/パスワードのダイアログ ボックスが表示されます。
3. ユーザーはダイアログ ボックスにユーザー名とパスワードを入力し、[確認] ボタンをクリックしてこの情報をサーバーに送信します。
4. ユーザー名とパスワードが有効な場合、現在認証されているユーザーが保護領域内にいる限り、保護されたファイルがユーザーに表示されます。上記の認証プロセスはすべて有効です。
単純な PHP スクリプトは、適切な HTTP ヘッダーを送信して、ユーザー名とパスワードのダイアログをクライアントの画面に自動的に表示することにより、HTTP 認証の要求/応答システムを模倣できます。 PHP は、ユーザー入力ダイアログ情報を $PHP_AUTH_USER 変数と $PHP_AUTH_PW 変数に保存します。これらの変数を使用すると、ユーザー名/パスワードのチェックを満たさないリストをテキスト ファイル、データベース、または指定した場所に保存できます。 注: 3 つのグローバル変数 $PHP_AUTH_USER、$PHP_AUTH_PW、$PHP_AUTH_TYPE は PHP でのみ使用できます。モジュールとしてインストールされている場合にのみ使用できます。 CGI バージョンの PHP を使用している場合は、.htaccess ベースの認証またはデータベース ベースの認証の使用に制限されるため、ユーザーがユーザー名とパスワードを入力できるように HTML フォームを設計し、その後 PHP に入力させる必要があります。検証検査。
以下の例は 2 つの設定のチェックを示していますが、理論的には上記のユーザー名とパスワードのチェックと本質的には変わりません。
/* $PHP_AUTH_USER と $PHP_AUTH_PW の値を確認します */
if ((!isset($PHP_AUTH_USER)) || (!isset($PHP_AUTH_PW)) {
/* 値なし: 送信ダイアログ ボックスを表示させるヘッダー */
header('WWW-Authenticate: Basic realm="My Private Stuff"');
echo '認証が必要です。';
} else if ((isset($PHP_AUTH_USER)) && (isset($PHP_AUTH_PW))){
/* 値にはいくつかの値が含まれているため、それらが正しいかどうかを確認します */
if (($PHP_AUTH_USER ! = "validname" ) || ($PHP_AUTH_PW != "goodpassword")) {
/* 入力されたユーザー名が間違っているか、入力されたパスワードが間違っている場合は、ヘッダーを送信してダイアログ ボックスを表示します */
header(' WWW-Authenticate: Basic realm="My Private Stuff"');
echo '認証が必要です。'
} else if (($PHP_AUTH_USER == "validname ") || ($PHP_AUTH_PW == "goodpassword")) {
成功メッセージを出力します */ファイルベースの保護を使用している場合、このアプローチは次のとおりであることに注意してください。を確実に保護するセキュリティブランケットではありません。ディレクトリ。これはほとんどの人にとって明らかですが、ポップアップ ダイアログ ボックスと特定のディレクトリの保護を脳が結び付けている場合は、このプロセスを認識するために懸命に努力する必要があります。
上記では、acronis Disk Director Suite 10 の内容を含む、PHP スクリプトの 10 のヒント 5 を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。
