2009-11-24 41 views
1

基於這個question I asked earlier on setting up cookies in Perl,我成功地得到了答案和方法來做到這一點,但我現在面臨着一個新的有趣的挑戰。如何設計一個Perl cookie初始化登錄屏幕?

在Perl CGI腳本中,它要求你在頭文件中設置一個cookie,這應該是腳本中的第一條語句。爲了澄清,您需要在腳本頂部有一個CGI->header()聲明,以使CGI腳本可以工作!

我的情景:

我有一個登錄屏幕,用戶名和密碼,成功登錄後,我需要設置當前用戶名的cookie,那麼將用戶重定向到另一種形式,如果該cookie,檢查在允許任何交易之前設定。

請注意,如果我設置CGI->header()語句後的cookie,它永遠不會置位,如果我把它在我的腳本的頂部,它有顯而易見的原因,一個假的值(用戶未登錄)

我該如何做到這一點? CGI->header()聲明需要始終位於我的腳本的頂部嗎?

迦特

+4

你怎麼覺得你的** 50 **問題沒有可接受的答案?在制定問題時你真的很糟糕嗎? –

+0

有時我得到的答案我不得不抽動他們真的工作...我避免誤導別人,但生病檢查。謝謝 – gath

+1

如果他們不完美,你總是可以評論答案。 – tsee

回答

6

考慮到您當前的知識水平(「恰到好處是危險的」),您最終會自己編寫一些可以被劫持的代碼,如果您繼續朝這個方向前進的話。我想建議閱讀my article on how to "brand" a browser using cookies。這是一個老派但不是好人。

對於不耐煩的人,訣竅是隻使用cookie來區分一個瀏覽器和另一個瀏覽器,並保持所有重要的服務器端狀態。

+0

對不起,我沒有提到,這不是一個公共Web應用程序,而是一個小工具,可以幫助我談論和管理我的舊SCO盒子。目前嚴格的安全措施並不重要。 – gath

+0

而這始終是如何開始的。 :)嚴肅的說,前面是黑暗的小巷。狹窄的喉嚨不可避免。如果不是你,那個接管你的人不明白你拿走的捷徑。 –