低安全性 Password/Username Concept Flask 安全性错误
Low Security Password/Username Concept Flask Security Error
基本上只是尝试制作一个简单的登录页面,该页面几乎没有安全性,但不断出现内部服务器错误,如果您对我出错的地方提供任何帮助,我们将不胜感激。我试过四处搜索,但找不到任何东西。我也是 Python 的新手,所以放轻松 :)
Python/Flask:
@app.route('/adminlogin')
def admin():
return render_template('adminlogin.html')
@app.route('/adminDetails', methods =['POST'])
def adminLogin():
correctUser = 'admin'
correctPass = 'Password1'
username = request.form['username']
password = request.form['password']
if username == correctUser & password == correctPass:
adminSuccess()
else:
admin()
@app.route('/admin')
def adminSuccess():
return render_template('admin.html')
HTML:
<form action="/adminDetails" method="post">
Username<input name="username" type = "text" maxlength="32" size="12" placeholder="Username" required><br>
Password<input name ="password" type="password" maxlength="20" size="12" placeholder="Password" required><br>
<button class ="menuitem" type="submit" value="submit">Submit</button>
<button class="menuitem" type ="reset" value ="Clear">Clear</button>
</form>
回溯:
Traceback (most recent call last):
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site- packages\flask\app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site-packages\flask\app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site-packages\flask\app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site-packages\flask\_compat.py", line 33, in reraise
raise value
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site-packages\flask\app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site-packages\flask\app.py", line 1478, in full_dispatch_request
response = self.make_response(rv)
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site-packages\flask\app.py", line 1566, in make_response
raise ValueError('View function did not return a response')
ValueError: View function did not return a response
由于无法发表评论,只好在回答区留下这块建议。
您应该尝试 运行 您的应用程序并将调试设置为 true。这将为您提供导致错误的原因的完整回溯,而不是 "Internal server error"
app.run(debug=True)
Post 回溯,我们都可以更好地帮助您。
编辑:您的回溯表明您的视图函数实际上没有 return 任何东西。他们需要 return 某种回应。因此,您需要做的是 return 在 adminLogin()
视图
的 if else 语句中调用那些函数
这一行是错误的:
if username == admin & password == Password1:
应该是:
if username == admin and password == Password1:
例如:
>>> 1 == 1 & 2 == 2
False
您可以给我们完整的错误日志,以便我们找出错误。
错误日志显示原因:
ValueError: View function did not return a response
所以您需要重定向到该页面。
@app.route('/adminDetails', methods =['POST'])
def adminLogin():
correctUser = 'admin'
correctPass = 'Password1'
username = request.form['username']
password = request.form['password']
if username == correctUser and password == correctPass:
return redirect(url_for('adminSuccess'))
else:
return redirect(url_for('admin'))
文档:redirect
基本上只是尝试制作一个简单的登录页面,该页面几乎没有安全性,但不断出现内部服务器错误,如果您对我出错的地方提供任何帮助,我们将不胜感激。我试过四处搜索,但找不到任何东西。我也是 Python 的新手,所以放轻松 :)
Python/Flask:
@app.route('/adminlogin')
def admin():
return render_template('adminlogin.html')
@app.route('/adminDetails', methods =['POST'])
def adminLogin():
correctUser = 'admin'
correctPass = 'Password1'
username = request.form['username']
password = request.form['password']
if username == correctUser & password == correctPass:
adminSuccess()
else:
admin()
@app.route('/admin')
def adminSuccess():
return render_template('admin.html')
HTML:
<form action="/adminDetails" method="post">
Username<input name="username" type = "text" maxlength="32" size="12" placeholder="Username" required><br>
Password<input name ="password" type="password" maxlength="20" size="12" placeholder="Password" required><br>
<button class ="menuitem" type="submit" value="submit">Submit</button>
<button class="menuitem" type ="reset" value ="Clear">Clear</button>
</form>
回溯:
Traceback (most recent call last):
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site- packages\flask\app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site-packages\flask\app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site-packages\flask\app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site-packages\flask\_compat.py", line 33, in reraise
raise value
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site-packages\flask\app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site-packages\flask\app.py", line 1478, in full_dispatch_request
response = self.make_response(rv)
File "C:\Users\AppData\Local\Programs\Python\Python35-32\lib\site-packages\flask\app.py", line 1566, in make_response
raise ValueError('View function did not return a response')
ValueError: View function did not return a response
由于无法发表评论,只好在回答区留下这块建议。
您应该尝试 运行 您的应用程序并将调试设置为 true。这将为您提供导致错误的原因的完整回溯,而不是 "Internal server error"
app.run(debug=True)
Post 回溯,我们都可以更好地帮助您。
编辑:您的回溯表明您的视图函数实际上没有 return 任何东西。他们需要 return 某种回应。因此,您需要做的是 return 在 adminLogin()
视图
这一行是错误的:
if username == admin & password == Password1:
应该是:
if username == admin and password == Password1:
例如:
>>> 1 == 1 & 2 == 2
False
您可以给我们完整的错误日志,以便我们找出错误。
错误日志显示原因:
ValueError: View function did not return a response
所以您需要重定向到该页面。
@app.route('/adminDetails', methods =['POST'])
def adminLogin():
correctUser = 'admin'
correctPass = 'Password1'
username = request.form['username']
password = request.form['password']
if username == correctUser and password == correctPass:
return redirect(url_for('adminSuccess'))
else:
return redirect(url_for('admin'))
文档:redirect