卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章38262本站已运行3923

在 PHP 中设置 PHP_AUTH_USER 和 PHP_AUTH_PW

php小编柚子为您介绍如何在php中设置php_auth_user和php_auth_pw,这两个变量是用于http基本认证的用户名和密码,可用于验证用户身份。通过设置这两个变量,您可以在php脚本中轻松获取用户提供的用户名和密码信息,从而实现安全的身份验证功能。本文将详细讲解如何在php代码中设置和获取这两个变量,让您轻松应对身份验证需求。


在 PHP 中使用 curl Post 请求设置 PHP_AUTH_USERPHP_AUTH_PW

我们将通过向 PHP 代码发送 curl 请求来设置用户名和密码。

<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">?&gt;</span><span >
</span></span></span>

输出:

<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] =&gt; http://localhost:2145/test2
</span></span><span style="display:flex;"><span>		[content_type] =&gt; text/<strong class="keylink">html</strong>; charset=iso-8859-1
</span></span><span style="display:flex;"><span>		[http_code] =&gt; 301
</span></span><span style="display:flex;"><span>		[header_size] =&gt; 262
</span></span><span style="display:flex;"><span>		[request_size] =&gt; 105
</span></span><span style="display:flex;"><span>		[filetime] =&gt; -1
</span></span><span style="display:flex;"><span>		[ssl_verify_result] =&gt; 0
</span></span><span style="display:flex;"><span>		[redirect_count] =&gt; 0
</span></span><span style="display:flex;"><span>		[total_time] =&gt; 0.000658
</span></span><span style="display:flex;"><span>		[namelookup_time] =&gt; 0.000132
</span></span><span style="display:flex;"><span>		[connect_time] =&gt; 0.000209
</span></span><span style="display:flex;"><span>		[pretransfer_time] =&gt; 0.000246
</span></span><span style="display:flex;"><span>		[size_upload] =&gt; 0
</span></span><span style="display:flex;"><span>		[size_download] =&gt; 236
</span></span><span style="display:flex;"><span>		[speed_download] =&gt; 358662
</span></span><span style="display:flex;"><span>		[speed_upload] =&gt; 0
</span></span><span style="display:flex;"><span>		[download_content_length] =&gt; 236
</span></span><span style="display:flex;"><span>		[upload_content_length] =&gt; -1
</span></span><span style="display:flex;"><span>		[starttransfer_time] =&gt; 0.000604
</span></span><span style="display:flex;"><span>		[redirect_time] =&gt; 0
</span></span><span style="display:flex;"><span>		[redirect_url] =&gt; http://localhost:2145/test2/
</span></span><span style="display:flex;"><span>		[primary_ip] =&gt; 127.0.0.1
</span></span><span style="display:flex;"><span>		[certinfo] =&gt; Array()
</span></span><span style="display:flex;"><span>		[primary_port] =&gt; 2145
</span></span><span style="display:flex;"><span>		[local_ip] =&gt; 127.0.0.1
</span></span><span style="display:flex;"><span>		[local_port] =&gt; 58738
</span></span><span style="display:flex;"><span>		[http_vers<strong class="keylink">io</strong>n] =&gt; 2
</span></span><span style="display:flex;"><span>		[protocol] =&gt; 1
</span></span><span style="display:flex;"><span>		[ssl_verifyresult] =&gt; 0
</span></span><span style="display:flex;"><span>		[scheme] =&gt; HTTP
</span></span><span style="display:flex;"><span>	)
</span></span>

在 PHP 中在命令行中使用 curl 请求设置 PHP_AUTH_USERPHP_AUTH_PW

我们将通过命令行发送 curl 请求来设置用户名和密码。

<code class="language-shell hljs" data-lang="shell"><span style="display:flex;"><span>curl --user Kevin:Musungu455 http://localhost:2145
</span></span>

在 PHP 中如何确认值 PHP_AUTH_USERPHP_AUTH_PW 是否已成功设置

我们将检查用户名和密码是否已设置,如果已设置,则显示带有用户名和密码的成功消息。

<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>"</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>"</p></span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span><span style="color:#bc7a00">?&gt;</span><span >
</span></span></span>

输出:

<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>
卓越飞翔博客
上一篇: PHP 分页
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏