php小編柚子為您介紹如何在PHP中設定PHP_AUTH_USER和PHP_AUTH_PW,這兩個變數是用於HTTP基本認證的使用者名稱和密碼,可用於驗證使用者身分。透過設定這兩個變量,您可以在PHP腳本中輕鬆取得使用者提供的使用者名稱和密碼訊息,從而實現安全的身份驗證功能。本文將詳細講解如何在PHP程式碼中設定和取得這兩個變量,讓您輕鬆應對身份驗證需求。
curl
Post 請求設定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>
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_AUTH_USER
和PHP_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中文網其他相關文章!