在 PHP 中設定 PHP_AUTH_USER 和 PHP_AUTH_PW

Kevin Amayi 2023年1月30日 2022年5月13日
  1. 在 PHP 中使用 curl Post 請求設定 PHP_AUTH_USERPHP_AUTH_PW
  2. 在 PHP 中在命令列中使用 curl 請求設定 PHP_AUTH_USERPHP_AUTH_PW
  3. 在 PHP 中如何確認值 PHP_AUTH_USERPHP_AUTH_PW 是否已成功設定
在 PHP 中設定 PHP_AUTH_USER 和 PHP_AUTH_PW

本文將介紹如何在 PHP 中使用 curl 請求設定 PHP_AUTH_USERPHP_AUTH_PW 並通過命令列使用 curl 請求。它還將顯示如何確認值 PHP_AUTH_USERPHP_AUTH_PW 是否已成功設定。

在 PHP 中使用 curl Post 請求設定 PHP_AUTH_USERPHP_AUTH_PW

我們將通過向 PHP 程式碼傳送 curl 請求來設定使用者名稱和密碼。

<?php
    $username = 'Kevin';
    $password = 'Musungu455';
    $url = 'http://localhost:2145/test2';
    $c = curl_init();
    curl_setopt($c, CURLOPT_URL, $url);
    curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($c, CURLOPT_USERPWD, "$username:$password");
    curl_setopt($c, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    $output = curl_exec($c);
    $info = curl_getinfo($c);
    print_r($info);
    curl_close($c);
?>

輸出:

Array
	(
		[url] => http://localhost:2145/test2
		[content_type] => text/html; charset=iso-8859-1
		[http_code] => 301
		[header_size] => 262
		[request_size] => 105
		[filetime] => -1
		[ssl_verify_result] => 0
		[redirect_count] => 0
		[total_time] => 0.000658
		[namelookup_time] => 0.000132
		[connect_time] => 0.000209
		[pretransfer_time] => 0.000246
		[size_upload] => 0
		[size_download] => 236
		[speed_download] => 358662
		[speed_upload] => 0
		[download_content_length] => 236
		[upload_content_length] => -1
		[starttransfer_time] => 0.000604
		[redirect_time] => 0
		[redirect_url] => http://localhost:2145/test2/
		[primary_ip] => 127.0.0.1
		[certinfo] => Array()
		[primary_port] => 2145
		[local_ip] => 127.0.0.1
		[local_port] => 58738
		[http_version] => 2
		[protocol] => 1
		[ssl_verifyresult] => 0
		[scheme] => HTTP
	)

在 PHP 中在命令列中使用 curl 請求設定 PHP_AUTH_USERPHP_AUTH_PW

我們將通過命令列傳送 curl 請求來設定使用者名稱和密碼。

curl --user Kevin:Musungu455 http://localhost:2145

在 PHP 中如何確認值 PHP_AUTH_USERPHP_AUTH_PW 是否已成功設定

我們將檢查使用者名稱和密碼是否已設定,如果已設定,則顯示帶有使用者名稱和密碼的成功訊息。

<?php

    if(!isset($PHP_AUTH_USER)) {
        Header("WWW-Authenticate: Basic realm=\"My Realm\"");
        Header("HTTP/1.0 401 Unauthorized");
        echo "Sign in cancelled\n";
        exit;
    } else {
        echo "Hello $PHP_AUTH_USER.<P>";
        echo "You entered $PHP_AUTH_PW as your password.<P>";
    }
?>

輸出:

Hello Kevin.
You entered Musungu455 as your password.