PHP の長い開発期間を経て、多くのユーザーが PHP をよく知っています。ここで私の個人的な理解を述べ、皆さんと議論します。 PHP 愛好家なら誰でも、PHP.INI ファイルに精通していると思います。PHP の以前のバージョンである PHP3.0 では、このファイルは PHP3.INI という名前でした。通常、ファイルはオペレーティング システムの Windows ディレクトリにあります。 Windows システムと同じように、PHP.INI ファイルに多数のセミコロン "" があることは誰もが見たことがあります。
これらのセミコロンは注釈を表すために使用されます。つまり、PHP 構成ファイルを明確で理解しやすいものにするために、開発者はセミコロンの後に各構成関数の簡単な説明を提供します。システムがそれらを処理します。もちろん、もう 1 つの利点は、PHP システム構成が変更されたときに、特定の行にコメントを追加または削除するだけで済み、簡単で便利であることです。
auto_prepend_file 文字列は、すべての php ファイルを読み取る前に自動的に解析して実行するファイルを指定できます。これは、PHP、ASP、HTML (ただし、画像ファイルではありません) などの任意のファイルにすることができ、非常に便利です。たとえば、各 PHP ページに広告を追加したい場合、また Web サイトを開発していて、PHP ページを読む前にすべての訪問者に認証を行わせたい場合は、認証コードを別のファイルに作成し、文字列を設定するだけです。ここのファイル名に。注意深い読者はこう尋ねる必要があります: これらの関数が特定のファイルにのみ必要な場合はどうすればよいでしょうか? 頭を使って PHP 設定ファイルの例を挙げてください:
<ol class="dp-xml"> <li class="alt"><span><span>myprefix.php文件 </span></span></li> <li class=""> <span></span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">php</span></font></strong><span> </span> </li> <li class="alt"><span>if (strstr(strtoupper( PHP_SELF),"/PHPTEST/")) </span></li> <li class=""> <span>echo "我的广告!</span><strong><font color="#006699"><span class="tag"><span class="tag-name">BR</span><span class="tag">></span></span></font></strong><span>"; </span> </li> <li class="alt"> <span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span> </li> </ol>
このように、auto_prepend_file="myprefix.php" と設定している限り、を選択すると、phptest ディレクトリ内のすべての PHP ファイルに広告ヘッダーが含まれます。このファイルは include_path が指すパスに配置する必要があることにも注意してください。そうしないと、後述するエラーが発生する可能性があります。
auto_append_file 文字列には上記と同様の機能がありますが、PHP ファイルの末尾に自動的に追加される点が異なり、PHP プログラムが exit() で終了する場合には機能しません。この機能を使用すると、会社の住所に簡単に脚注を追加できます。 include_path 文字列 このパラメータの機能は、include()、require()、およびその他の関数に、ここで定義されたパス内のファイルを検索させることです。これは、DOS 時代に使用されていた SET PATH コマンドに似ています。このパラメータはパスのリストを提供できますが、パスは UNIX ではコロン、NT ではセミコロンで区切られ、スラッシュの方向も異なります。次のような PHP 設定ファイル:
<ol class="dp-xml"> <li class="alt"><span><span>UNIX例:</span><span class="attribute"><font color="#ff0000">include_path</font></span><span>=.:/home/lib </span></span></li> <li class=""> <span>NT 例:</span><span class="attribute"><font color="#ff0000">include_path</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">".:c:homeib"</font></span><span> 其中“.”表示当前目录。 </span> </li> <li class="alt"><span>gpc_order string </span></li> </ol>
GPC は GET/POST/COOKIE の 3 つの変数の最初の文字であり、その順序は 3 つの変数を処理する際のシステムの優先順位を反映しており、左から右に向かって順番に優先順位が高くなります。デフォルト設定は GPC であるため、同じ名前を持つ 2 つまたは 3 つの変数がサーバーに渡されると、システムはそれらを優先順位に従って並べ替え、優先順位の高い変数のみを読み取ります。もう 1 つの例は、アクセス方法が同じ場合に Cookie を無視し、GET の代わりに POST を使用するように「GP」に設定することです。もちろん、プログラミングのプロセス中に、同じ名前の変数を同時に異なる方法で渡すことは避けるべきです。そうしないと、プログラムの可読性が低下し、異なる構成のシステムでは異なる出力結果が発生する可能性があります。
magic_quotes_gpc boolean このパラメータは、GET/POST/COOKIE の 3 つの変数に含まれる特殊文字、一重引用符、二重引用符、スラッシュ、およびエスケープ文字バックスラッシュ (C 言語で一般的に使用される "") を追加するかどうかを決定できます。 )? PHP データベースなどのシステムでは、一重引用符などの文字は通常、実際の文字と区別するために特別な意味を持っているため、ユーザー側から取得する変数に一重引用符が含まれている場合に、magic_quotes_gpc=on を設定できます。エスケープ文字が前に追加され、必要に応じて関数tripslashes(string str);を使用できます(この関数は文字列内のバックスラッシュエスケープ文字「」を削除できます。2つの連続したバックスラッシュがある場合は、1つを削除します)バックスラッシュが 1 つだけある場合は、それを削除して、エスケープ文字 "" を削除します。
<ol class="dp-xml"> <li class="alt"><span><strong><font color="#006699"><span class="tag"><span class="tag-name">form</span><span class="tag">></span></span></font></strong><span> </span></span></li> <li class=""> <span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">input</span></span></font></strong><span> </span><span class="attribute"><font color="#ff0000">type</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"Text"</font></span><span> </span><span class="attribute"><font color="#ff0000">value</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">""</font></span><span> </span><span class="attribute"><font color="#ff0000">name</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"a"</font></span><span class="tag"><strong><font color="#006699">></font></strong></span><span> </span> </li> <li class="alt"> <span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">input</span></span></font></strong><span> </span><span class="attribute"><font color="#ff0000">type</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"Submit"</font></span><span class="tag"><strong><font color="#006699">></font></strong></span><span> </span> </li> <li class=""> <span></span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">form</span><span class="tag">></span></font></strong><span> </span> </li> <li class="alt"> <span></span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">php</span></font></strong><span> </span> </li> <li class=""><span>echo a; </span></li> <li class="alt"> <span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span> </li> </ol>
二重引用符がオンの場合とオフの場合は、テキスト ボックスに一重引用符を入力します。送信して違いを確認してください。 SMTP 文字列はメール送信サーバーのドメイン名または IP アドレスを指定するため、Microsoft ASP と比較して、PHP のこの機能ははるかに簡単で便利です。メール サーバーをお持ちですか? それは非常に簡単です。ローカル ISP のメール サーバーを入力するだけです。実際、メールの送受信サーバーは、現実の郵便局と同じです。メールはどの郵便局でも送信できますが、郵便物の受信は固定の郵便局で行われます。
<ol class="dp-xml"> <li class="alt"><span><span>mysql.default_host string </span></span></li> <li class=""><span>mysql.default_user string </span></li> <li class="alt"><span>mysql.default_password string </span></li> </ol>
ODBC を使用したことのある読者は、ODBC を設定するときに常にデータベースの場所とデフォルトのログイン ユーザー名とパスワードを設定する必要があることを知っています。これらのパラメータも同じ意味ですが、MYSQL で使用されます。セキュリティのために、MYSQL でのユーザーの権限にいくつかの制限を設ける必要もあります。怠惰に「root」を使用しないでください。これらのパラメータが便宜上設定されている場合は、関数 mysql_connect() を直接使用してデータベースに接続できます。ここではパラメータは必要ありません。これはとても便利ですが、非常に危険でもあると思われるかもしれません。心配しないでください。これらのパラメータは PHP のセーフ モードでは無効です。セーフ モードの設定を見てみましょう。
<ol class="dp-xml"> <li class="alt"><span><span class="attribute"><font color="#ff0000">error_prepend_string</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">"<font>"</font></font></span><span> </span></span></li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">error_append_string</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">"</font>"</span><span> </span> </li> </ol>
这两个设置参数更有意思啦,按如上设置,那么我们一眼就能看到:我们的程序是否出错了!因为他的功能是把出错信息设置成显眼的红颜色了。

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が期限切れになります。

データベースストレージセッションを使用することの主な利点には、持続性、スケーラビリティ、セキュリティが含まれます。 1。永続性:サーバーが再起動しても、セッションデータは変更されないままになります。 2。スケーラビリティ:分散システムに適用され、セッションデータが複数のサーバー間で同期されるようにします。 3。セキュリティ:データベースは、機密情報を保護するための暗号化されたストレージを提供します。

PHPでのカスタムセッション処理の実装は、SessionHandlerInterfaceインターフェイスを実装することで実行できます。具体的な手順には、次のものが含まれます。1)CussentsessionHandlerなどのSessionHandlerInterfaceを実装するクラスの作成。 2)セッションデータのライフサイクルとストレージ方法を定義するためのインターフェイス(オープン、クローズ、読み取り、書き込み、破壊、GCなど)の書き換え方法。 3)PHPスクリプトでカスタムセッションプロセッサを登録し、セッションを開始します。これにより、データをMySQLやRedisなどのメディアに保存して、パフォーマンス、セキュリティ、スケーラビリティを改善できます。

SessionIDは、ユーザーセッションのステータスを追跡するためにWebアプリケーションで使用されるメカニズムです。 1.ユーザーとサーバー間の複数のインタラクション中にユーザーのID情報を維持するために使用されるランダムに生成された文字列です。 2。サーバーは、ユーザーの複数のリクエストでこれらの要求を識別および関連付けるのに役立つCookieまたはURLパラメーターを介してクライアントに生成および送信します。 3.生成は通常、ランダムアルゴリズムを使用して、一意性と予測不可能性を確保します。 4.実際の開発では、Redisなどのメモリ内データベースを使用してセッションデータを保存してパフォーマンスとセキュリティを改善できます。

APIなどのステートレス環境でのセッションの管理は、JWTまたはCookieを使用して達成できます。 1。JWTは、無国籍とスケーラビリティに適していますが、ビッグデータに関してはサイズが大きいです。 2.cookiesはより伝統的で実装が簡単ですが、セキュリティを確保するために慎重に構成する必要があります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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

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

ホットトピック









