我遇到了以下問題。前端網站(www.domain.com)用於填寫屬於後端的表單(backend.domain.com)。此表單由驗證碼保護,驗證碼的參考值保存在用戶會話中(以PHP格式)。交叉(子)域名Ajax表單提交captcha
提交應該是基於Ajax的,這會給跨域帶來一些問題。因此,在www.domain.com上寫了一個小小的PHP代理。該代理請求後端的形式。當用戶提交表單時,會向代理髮出Ajax請求,代理會向後端發送驗證請求並返回結果。
所有這些工作都很好,除了在用戶會話中保存引用的驗證碼。由於前端網站將表單提交到後端,後端將爲前端使用會話。
什麼是解決這個問題的最佳方法?我想出了兩種方法。第一種方法是將驗證碼的引用包含在表單中(散列),以便不需要任何會話。另一種方法是使用iframe直接從後端包含表單。這第二種方法可能會正常工作,但感覺真的很難看。對於這樣的情況,你會有什麼建議?
更新:描述這種情形的序列圖:
序列圖不完全正確,我用描述情況的序列圖更新了我的問題。但你是對的,這是一個cookie /會話號碼問題。 – Intru 2011-04-28 09:00:29
@Intru更新的答案,希望得到某個地方。 – boisvert 2011-04-28 11:06:10