1

URL 経由で基本認証を使用したい新しい b2b ベンダーがいます。

彼らは次のように認証したいと考えています:

  //URL coming into our server
  http://usernametext:passwordtext@our.company.com/listener.php

listener.php スクリプトを介して URL からユーザー名とパスワードを取得するにはどうすればよいですか?

PHPのマニュアルページごとに基本的な認証ヘッダーを設定しようとしましたが、ログインボックスがポップアップ表示されますが、これは必要なものではありません.

if (!isset($_SERVER['PHP_AUTH_USER'])) {
     header('WWW-Authenticate: Basic realm="My Realm"');
     header('HTTP/1.0 401 Unauthorized');
     echo '<response><error>No username and password found</error></response>';
     exit;
 } else {

   //process request if username & password are legit

}
4

3 に答える 3

2

解決策を提供してくれたすべての人に感謝します。これが私にとってこの問題を解決したものです:

サーバー構成の問題でした。PHP でApache 拡張機能をコンパイルする必要がありました。これを行うと、$_SERVER 配列には $_SERVER['PHP_AUTH_USER'] と $_SERVER['PHP_AUTH_PW'] の値が含まれていました。これ以前は、これらの値は $_SERVER 配列にありませんでした

于 2012-11-15T13:01:16.643 に答える
0

古き良き$_GETで情報を送ってみませんか?何かのようなもの http://our.company.com/listener.php?usr='me'&pswd='secret'

于 2012-11-14T20:11:26.893 に答える
-1

これが役立つかもしれません:

if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Text to send if user hits Cancel button';
    exit;
} else {
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}

より詳細に確認できます:http-auth

更新: ポップアップ ボックス (不要な認証サイトでの確認ユーザー + パス) が必要ない場合は、ディレクトリに .htaccess を追加するだけです。

AuthType Basic
AuthName "Password Required"
于 2012-11-14T20:18:06.190 に答える