2013-07-27 2 views
-2

Мой английский плохой. Прошу прощения за это.Требуется аутентификация - CGI Python на сервере Windows

Я купил сервер WIndows с панелью plesk. Я загружаю скрипт python FTP. потому что сайт написан с помощью python.

Когда я вхожу на сайт, я вижу «Требуется аутентификация». Но я хочу увидеть это окно. Я хочу, чтобы каждый мог войти на сайт и запустить cgi-скрипт.

Как это сделать?

+0

Извините, но я не понимаю. –

ответ

0

upd.you перепишите свой вопрос?

cgi prints http response to stdout. Прежде всего вам нужно получить заголовки ... если заголовок «Авторизация» присутствует, вы можете декодировать логин и пароль от него. , если такой заголовок или паспорт недействительны, вы должны: отправить 401 ответ отправить заголовок «WWW-Authenticate», который содержит «Основная область = \» Message \ "'для базовой авторизации. также возможно дайджест, Ntlm и т. д.

Если браузер получает ответ 401, он запрашивает у пользователя пароль (даже если ajax), кодирует логин и пароль методом, запрошенным сервером, снова отправляет запрос с заголовком «Авторизация».

не образец 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 
+0

спасибо. я попробую – user1898723

 Смежные вопросы

  • Нет связанных вопросов^_^