-2

私の英語は下手です。申し訳ありません。

plesk パネル付きの Windows サーバーを購入しました。FTP python スクリプトにロードします。サイトはpythonで書かれているためです。

サイトに入ると「Authentication Required」と表示されます。でも、この窓が見たい。誰もがサイトに入り、cgi スクリプトを実行できるようにしたいと考えています。

どうすればこれを作ることができますか?

4

1 に答える 1

0

あなたの質問を書き直しますか?

cgi は http 応答を stdout に出力します。まず、ヘッダーを取得する必要があります...ヘッダー「Authorization」が存在する場合、そこからログインとパスワードをデコードできます。そのようなヘッダーまたはパスワードが無効でない場合は、次のことを行う必要があります: 401 応答を送信する 'Basic realm=\"Message\"' を含む 'WWW-Authenticate' ヘッダーを送信して、基本認証を行います。Digest、Ntlmなども可能

ブラウザが 401 応答を受け取った場合、(ajax の場合でも) ユーザーにパスワードを要求し、サーバーによって要求された方法でログインとパスワードをエンコードし、「Authorization」ヘッダーを使用して再度要求を送信します。

CGI コード サンプルではなく、HTTPServer のデコレーター、BaseHTTPRequestHandler

def login_required(f):
def authenticate(self,*args,**kwargs):

    if conf.get('noauth'):
        return f(self,*args,**kwargs)

    if self.headers.getheader('Authorization') :
        cred = base64.b64decode(self.headers.getheader('Authorization').split(' ')[1])


        users = conf.get('users', [])
        if cred in users:
            self.creds = cred
            return f(self,*args,**kwargs)
#else
    self.send_response(401)
    self.send_header('WWW-Authenticate', 'Basic realm=\"Meter\"')
    self.send_header('Content-type', 'text/html')
    self.end_headers()
    self.wfile.write('Not authenticated.')
    return False
return authenticate
于 2013-07-27T16:17:14.860 に答える