低安全性 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