2010-07-21 66 views
1

我不是Web開發專家,需要找到一種方法讓瀏覽器以當前文檔ID作爲參數調用服務器上的PHP例程,例如。瀏覽器在查詢中包含頁面標識的方法?

http://www.acme.com/index.php?id=1 

然後我需要調用例如。 id = 1的/change.php來處理這個文檔。

除非我記錯了,有三種方式爲客戶端返回信息:

  • 如果作爲參數在URL中傳遞(如上),這將作爲HTTP引用
  • 通過將其包括通過發送它的cookie

我想用一個隱藏字段是最明顯的選擇在

  • 作爲隱藏字段。有其他方法嗎?你會推薦哪種解決方案?有任何安全問題需要注意?

    謝謝。

  • +0

    你在哪裏/何時/你如何調用'change.php'? – 2010-07-21 22:18:33

    +0

    這也是在新的Web Dev站點上提出的,http://webmasters.stackexchange.com/questions/1432/ways-for-client-to-include-page-id-in-query僅供參考。 – 2010-07-21 22:21:30

    +0

    是的。我不得不在這裏問它,因爲我被告知「這屬於stackoverflow.com」;-) – Gulbahar 2010-07-22 09:46:30

    回答

    0

    您也可以將數據,這樣就不會在URL中可以看到「形式方法=‘郵報’」

    所有的這些方法,到一個點,沒有安全感,因爲他們可以通過操縱精明的用戶/黑客。你可以https訪問你的網站,限制中間人攻擊。一定要檢查並驗證傳入的數據

    0

    Ajax也是另一種選擇,它允許您發送該信息而不刷新頁面。

    +0

    感謝您的提示。嵌入在頁面中的一些AJAX能夠讀取它所在頁面的ID,並使用這些信息來調用服務器端腳本? – Gulbahar 2010-07-22 09:48:14

    +0

    我想我的問題的顯而易見的解決方案是更新服務器端代碼,以便HTML頁面中的超鏈接/表單已包含此信息,因此瀏覽器無需弄清楚。 – Gulbahar 2010-07-22 09:54:09

    +0

    您可以使用頁面ID添加一個隱藏的div,並讓Ajax從該div讀取ID來調用服務器端腳本,或讓Ajax從頁面的URL或類似的東西中讀取ID。 – Chetan 2010-07-26 05:45:50

    0
    http://www.acme.com/index.php?id=1 
    

    上面的網址會出現更多的「瀏覽器友好」如果你將其轉化爲類似於這樣:

    http://www.acme.com/index/page/1 
    

    我相信你可以在Apache中實現這一目標。或者Java Servlets。

    +0

    '瀏覽器友好'(您可能意味着用戶友好/可讀)與匿名ID是有爭議的。它**是**但是語言不可知的,也是朝向酷的uri的一大步(不要改變)。 – Wrikken 2010-07-21 23:30:24