PHP での PHP_AUTH_USER と PHP_AUTH_PW の設定

WBOY
リリース: 2024-02-28 09:06:01
転載
1127 人が閲覧しました

php editor Youzi は、PHP で PHP_AUTH_USER と PHP_AUTH_PW を設定する方法を紹介します。これら 2 つの変数は、HTTP 基本認証に使用されるユーザー名とパスワードであり、ユーザー ID の検証に使用できます。これら 2 つの変数を設定すると、PHP スクリプトでユーザーが指定したユーザー名とパスワードの情報を簡単に取得でき、安全な認証機能を実現できます。この記事では、PHP コードでこれら 2 つの変数を設定および取得する方法を詳しく説明します。これにより、認証のニーズに簡単に対処できるようになります。


curl の使用 PHP でのポスト リクエスト設定 PHP_AUTH_USER および PHP_AUTH_PW

PHP コードに渡しますcurl リクエストを送信して、ユーザー名とパスワードを設定します。

<code><code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#666"><?</span>php
</span></span><span style="display:flex;"><span><span style="color:#19177c">$username</span> <span style="color:#666">=</span> <span style="color:#ba2121">'Kevin'</span>;
</span></span><span style="display:flex;"><span><span style="color:#19177c">$pass<strong class="keylink">Word</strong></span> <span style="color:#666">=</span> <span style="color:#ba2121">'Musungu455'</span>;
</span></span><span style="display:flex;"><span><span style="color:#19177c">$url</span> <span style="color:#666">=</span> <span style="color:#ba2121">'<strong class="keylink">Http</strong>://localhost:2145/test2'</span>;
</span></span><span style="display:flex;"><span><span style="color:#19177c">$c</span> <span style="color:#666">=</span> curl_init();
</span></span><span style="display:flex;"><span>curl_setopt(<span style="color:#19177c">$c</span>, CURLOPT_URL, <span style="color:#19177c">$url</span>);
</span></span><span style="display:flex;"><span>curl_setopt(<span style="color:#19177c">$c</span>, CURLOPT_RETURNTRANSFER, <span style="color:#008000;font-weight:bold">true</span>);
</span></span><span style="display:flex;"><span>curl_setopt(<span style="color:#19177c">$c</span>, CURLOPT_USERPWD, <span style="color:#ba2121">"</span><span style="color:#b68;font-weight:bold">$username</span><span style="color:#ba2121">:</span><span style="color:#b68;font-weight:bold">$password</span><span style="color:#ba2121">"</span>);
</span></span><span style="display:flex;"><span>curl_setopt(<span style="color:#19177c">$c</span>, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
</span></span><span style="display:flex;"><span><span style="color:#19177c">$output</span> <span style="color:#666">=</span> curl_exec(<span style="color:#19177c">$c</span>);
</span></span><span style="display:flex;"><span><span style="color:#19177c">$info</span> <span style="color:#666">=</span> curl_getinfo(<span style="color:#19177c">$c</span>);
</span></span><span style="display:flex;"><span>print_r(<span style="color:#19177c">$info</span>);
</span></span><span style="display:flex;"><span>curl_close(<span style="color:#19177c">$c</span>);
</span></span><span style="display:flex;"><span><span style="color:#bc7a00">?></span><span >
</span></span></span></code></code>
ログイン後にコピー

出力:

<code><code class="language-text hljs" data-lang="text"><span style="display:flex;"><span>Array
</span></span><span style="display:flex;"><span>	(
</span></span><span style="display:flex;"><span>		[url] => http://localhost:2145/test2
</span></span><span style="display:flex;"><span>		[content_type] => text/<strong class="keylink">html</strong>; charset=iso-8859-1
</span></span><span style="display:flex;"><span>		[http_code] => 301
</span></span><span style="display:flex;"><span>		[header_size] => 262
</span></span><span style="display:flex;"><span>		[request_size] => 105
</span></span><span style="display:flex;"><span>		[filetime] => -1
</span></span><span style="display:flex;"><span>		[ssl_verify_result] => 0
</span></span><span style="display:flex;"><span>		[redirect_count] => 0
</span></span><span style="display:flex;"><span>		[total_time] => 0.000658
</span></span><span style="display:flex;"><span>		[namelookup_time] => 0.000132
</span></span><span style="display:flex;"><span>		[connect_time] => 0.000209
</span></span><span style="display:flex;"><span>		[pretransfer_time] => 0.000246
</span></span><span style="display:flex;"><span>		[size_upload] => 0
</span></span><span style="display:flex;"><span>		[size_download] => 236
</span></span><span style="display:flex;"><span>		[speed_download] => 358662
</span></span><span style="display:flex;"><span>		[speed_upload] => 0
</span></span><span style="display:flex;"><span>		[download_content_length] => 236
</span></span><span style="display:flex;"><span>		[upload_content_length] => -1
</span></span><span style="display:flex;"><span>		[starttransfer_time] => 0.000604
</span></span><span style="display:flex;"><span>		[redirect_time] => 0
</span></span><span style="display:flex;"><span>		[redirect_url] => http://localhost:2145/test2/
</span></span><span style="display:flex;"><span>		[primary_ip] => 127.0.0.1
</span></span><span style="display:flex;"><span>		[certinfo] => Array()
</span></span><span style="display:flex;"><span>		[primary_port] => 2145
</span></span><span style="display:flex;"><span>		[local_ip] => 127.0.0.1
</span></span><span style="display:flex;"><span>		[local_port] => 58738
</span></span><span style="display:flex;"><span>		[http_vers<strong class="keylink">io</strong>n] => 2
</span></span><span style="display:flex;"><span>		[protocol] => 1
</span></span><span style="display:flex;"><span>		[ssl_verifyresult] => 0
</span></span><span style="display:flex;"><span>		[scheme] => HTTP
</span></span><span style="display:flex;"><span>	)
</span></span></code></code>
ログイン後にコピー

PHP では、コマンド ラインで curl を使用して、設定 PHP_AUTH_USER および PHP_AUTH_PW## を要求します。

#コマンドライン経由で

curl リクエストを送信し、ユーザー名とパスワードを設定します。

<code><code class="language-shell hljs" data-lang="shell"><span style="display:flex;"><span>curl --user Kevin:Musungu455 http://localhost:2145
</span></span></code></code>
ログイン後にコピー

PHP の値

PHP_AUTH_USERPHP_AUTH_PW が正常に設定されたことを確認する方法

ユーザー名が正しく設定されているかどうかを確認しますとパスワードが設定されています。設定されている場合は、ユーザー名とパスワードを含む成功メッセージが表示されます。

<code><code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#666"><?</span>php
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span>(<span style="color:#666">!</span>isset(<span style="color:#19177c">$PHP_AUTH_USER</span>)) {
</span></span><span style="display:flex;"><span>Header(<span style="color:#ba2121">"WWW-Authenticate: Basic realm=</span><span style="color:#b62;font-weight:bold">"</span><span style="color:#ba2121">My Realm</span><span style="color:#b62;font-weight:bold">"</span><span style="color:#ba2121">"</span>);
</span></span><span style="display:flex;"><span>Header(<span style="color:#ba2121">"HTTP/1.0 401 Unauthorized"</span>);
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"Sign in cancelled</span><span style="color:#b62;font-weight:bold">\n</span><span style="color:#ba2121">"</span>;
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">exit</span>;
</span></span><span style="display:flex;"><span>} <span style="color:#008000;font-weight:bold">else</span> {
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"Hello </span><span style="color:#b68;font-weight:bold">$PHP_AUTH_USER</span><span style="color:#ba2121">.<P>"</span>;
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"You entered </span><span style="color:#b68;font-weight:bold">$PHP_AUTH_PW</span><span style="color:#ba2121"> as your password.<P>"</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span><span style="color:#bc7a00">?></span><span >
</span></span></span></code></code>
ログイン後にコピー
出力:

<code><code class="language-text hljs" data-lang="text"><span style="display:flex;"><span>Hello Kevin.
</span></span><span style="display:flex;"><span>You entered Musungu455 as your password.
</span></span></code></code>
ログイン後にコピー

以上がPHP での PHP_AUTH_USER と PHP_AUTH_PW の設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lsjlt.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート