2016-09-26 72 views
0

我有一張桌子。當用戶點擊該表中的一個項目時,它將採用表格行的id並設置一個會話變量,然後加載一個表單。 會話變量很重要,因爲它是我需要添加到的文件的ID。有沒有辦法刷新已過期的SESSION變量?

當他們填寫了表單數據後,它通過jquery發佈到php文件中,然後使用會話變量將表單數據添加到數據庫中的特定條目中。

問題是這樣的。當表單出現時,id在會話變量中,因此如果在填寫表單之前彈出一杯茶,會話變量可能會過期。

所以當提交按鈕被按下時,它不能添加正確的ID,因爲它已經過期。

我曾想過在窗體上使用隱藏ID,但我並不認爲這是非常安全的。我還想過如果我使用隱藏字段,數據在發送之前可能會被篡改。

有沒有辦法刷新過期會話變量,如果它不存在?

+2

不,不是。爲什麼不延長超時時間?如果獲得茶杯需要超過15分鐘,那麼用戶應該承擔不做工作的痛苦。 –

+1

@JayBlanchard:cookie如何比隱藏的表單域更安全? –

+0

這不是更安全@MarcB,我猜應該更好地解釋。 –

回答

1

在表單上使用隱藏ID是正確的選擇。您只需確保在保存前允許用戶編輯該表單/標識。你也應該對變量進行正常的衛生檢查。

+0

我曾經使用過一個隱藏的ID,但我擔心使用這種方法可能會被攻擊。我的意思是在這個例子中,id不是祕密,但我不希望他們改變id,這樣他們可以添加到他們不應該添加到你看到的東西。 –

+0

@ThomasWilliams我認爲我們還沒有理解你當前的代碼是如何工作的,並假定ID已經在頁面HTML中的某處。 –

+0

@ThomasWilliams如果他們被允許編輯別的東西,他們是否將ID改爲其他東西並不重要。因此,當您保存表單時,您需要進行檢查以確定該人員是否可以查看或保存該表單。無論如何,你應該這樣做。 –

相關問題