目前,我正在尝试使我的登录页面功能化,而不使用javascript。这是我的代码的html表单。你知道吗
<form name="login" action="secure112020014431.html" method="get" onsubmit="return validate(this);" accept-charset="utf-8" >
<ul>
<li>
<label for="user_account"></label>
<div>
<input type="text" name="username"
placeholder="Your Username" required>
</div>
</li>
<li>
<label for="password"></label>
<div>
<input type="password" name="password"
placeholder="Password" required>
</div>
</li>
<br></br>
<li>
<input id="login" type="submit" name="submit" value="Fazer Login">
</li>
</ul>
</form>
这是我的主.py文件
import webapp2
import os
import jinja2
import urllib2
jinja_environment = jinja2.Environment(autoescape=True,
loader=jinja2.FileSystemLoader(os.path.join(os.path.dirname(__file__))))
class SignIn(webapp2.RequestHandler):
def get (self):
template = jinja_environment.get_template('signin.html')
self.response.write(template.render())
class Secure(webapp2.RequestHandler):
def get(self):
"""
username: Get the username from POST dict
password: Get the password from POST dict
"""
username = self.request.POST.get('username')
password = self.request.POST.get('password')
# Try to login user with password
key='admin'
passkey='password'
if username and password==key and passkey:
template = jinja_environment.get_template('secure112020014431.html')
self.response.write(template.render())
else:
template = jinja_environment.get_template('signin.html')
self.response.write(template.render('/signin.html'))
application = webapp2.WSGIApplication([
(,('/signin.html',SignIn)
,('/secure112020014431',Secure)
], debug=True)
这是我的附录yaml你知道吗
- url: /secure112020014431
script: main.application
login: required
- url: /.*
script: main.application
我想做的就是这样。 把我表格上的信息传给我的同事主.py文件。 那么,为了我的主.py接收信息并将其与密钥和密钥进行比较。 如果条件满足,请将我转到安全页面,如果不满足,请将我送回主页面。任何帮助都将不胜感激。你知道吗
问题(或至少a问题)在这里:
username and password
不会给出一对可以与另一对对象进行比较的对象;它给出一个值,如果两个对象都是真的,那么这个值就是真的,否则就是假的。你知道吗创建一对可以与另一对对象进行比较的对象的方法是创建一个元组,只需在元组之间加逗号即可:
当然,也可以只进行两次单独的检查,检查之间有
and
:顺便说一句,这种事情通常是个非常糟糕的主意。以明文形式发送用户名和密码作为表单的一部分,意味着任何能看到数据包的人都可以窃取密码。通常的方法是使用challenge-response protocol。如果你不想自己实现一个,HTTP中有一个机制可以实现,或者你可以依赖外部身份验证(例如,任何人只要能证明他拥有一个已批准的OpenID帐户列表,就可以接受),或者你也可以找到JS和Jinja/Python库来为你包装它。你知道吗
相关问题 更多 >
编程相关推荐