我的英语很差。对此我很抱歉。
我买了一台带有 plesk 面板的 Wİndows 服务器。我加载到FTP蟒蛇脚本。因为该网站是用Python编写的。
当我进入网站时,我看到"需要身份验证"。但我想看到这个窗口。我希望每个人都可以进入网站并运行到 cgi 脚本。
我该怎么做?
upd.你重写你的问题?
CGI 打印 HTTP 响应 stdout。首先,您需要获取标头...如果存在标头"授权",您可以从中解码登录名和密码。如果没有这样的标头或通道无效,您必须:发送 401 响应发送包含"基本领域="消息"的"WWW-Authenticate"标头以进行基本授权。也可能是文摘,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