2013-07-27 35 views
-1

我想寫一段代碼來檢查提交的密碼是否正確。假設密碼是編程失敗的。這是正確的密碼嗎?

我一直在這一段時間,不知道如何檢查密碼。這是我至今從用戶提交的內容:

if os.environ['REQUEST_METHOD'] == 'POST': 
    if ('user_pw' in request) and request["user_pw"].value.strip != '': 
    #user_pw must match password from above 
     password == request["user_pw"].value 
    else: 
     errors.append('Password not correct') 

有什麼建議嗎?謝謝

+1

'如果the_submitted_pa​​ssword ==「programmingisfun」:..'雖然這是一個*很差*密碼管理策略。另外,請記住'='是*賦值/綁定*,而'=='是*相等* - 檢查您的代碼。 – user2246674

+1

行'password == request [「user_pw」] .value'不執行任何操作。它的計算結果爲True或False,但未分配給變量,因此值丟失。 – SethMMorton

+0

@SethMMorton然後這會更好嗎? 'if('user_pw'in request)and request [「user_pw」] .value.strip!=''and password == request [「user_pw」]。value:' –

回答

1

所有if語句正在檢查是否'user_pw'在請求中或者它不是空的。但password ==request["user_pw"].value部分不會返回任何東西,因爲它沒有條件。試着把它周圍的聲明如下:

if os.environ['REQUEST_METHOD'] == 'POST': 
    if ('user_pw' in request) and request["user_pw"].value.strip != '': 
     #user_pw must match password from above 
     if(password == request["user_pw"].value): 
      #success 
     else: 
      errors.append('Password not correct') 
    else: 
     errors.append('You didn\'t input a password') 

注:我不知道這最後一部分,但以防萬一。 另外,如果檢查不工作嘗試打印的request["user_pw"].value的內容,如果它沒有價值,然後嘗試value()

+0

使用此時出現500內部服務器錯誤。我覺得這應該是正確的,但我不知道...我用'request [「user_pw」] .value()'嘗試了它,但它仍然不起作用。 –

+0

你使用Django或類似的東西?以及可能導致它與服務器有關的請求等。 – Supremekhaoz

+0

沒有django。只需加載到我學校的服務器上。 –