2010-10-21 75 views
1

也許這是一個愚蠢的問題,但我想用django之外的窗體登錄到我的django應用程序。我的猜測是我可以發送POST請求到/ login,但是由於csrf令牌會失敗。Django:從頁面外登錄django

也許我錯過了某種理論背景,但我想知道什麼是實現這一目標的正確方法。

背景信息: Django的認證工作正常IF你使用Django的登錄表單。我想要做的是使用一個外部靜態html表單(在apache外的django上),直接發佈到django,所以當我重定向到我的django服務器時,我不必登錄。

+0

你如何鑑別?細節,男人,細節! – 2010-10-21 13:07:57

+0

@Andrew雪橇:我添加了一些背景信息,請讓我知道,如果你需要任何進一步的信息。 – Doppelganger 2010-10-21 13:33:37

回答

1

CSRF存在以防止這一點。儘管您無疑有良好的意圖,但這與試圖通過真正的CSRF攻擊竊取您網站的黑客沒有技術上的區別。

+0

我不明白這可能是危險的,我想將用戶從我的非Django站點重定向到我的Django站點。我的意思是,我不會使用來自其他站點的任何功能,我只是想進行完全重定向,並使用來自「原始」站點的憑據,所以我不會要求django方面的任何信息。 – Doppelganger 2010-10-21 13:18:48

+0

他說你不能在沒有CSRF檢查的情況下「發佈」到你的表格,因爲如果你的話,任何人都可以(包括那些有惡意的意圖),而你不想這樣做。 – 2010-10-21 13:33:47

+0

但是我實際上發佈了登錄信息,因此,任何有登錄信息的人都可能以某種方式冒充用戶。 – Doppelganger 2010-10-21 13:47:30

0

聽起來像是你需要一個像CAS單點登錄服務:http://code.google.com/p/django-cas/

(但有可能矯枉過正)

+0

它看起來很有趣,但是,是的,它是矯枉過正。我不想集中任何東西(這可能是一個更有效的解決方案),我只是有一個HTML表單託管在另一臺服務器上,並且我有用於登錄和密碼的字符串。所以,我想利用這些信息並讓用戶在重定向後登錄到django服務器。 – Doppelganger 2010-10-21 14:06:58