2010-04-18 16 views
1

我從來沒有真正想過這個,但它有助於我目前正在處理的某些安全性。是否可以提交沒有實際輸入字段的GET數據,而只是從URL中獲取?提交沒有輸入字段的GET數據?

如果是這樣,我該如何去做這件事?這是有道理的,它應該是可能的,但同時它根本沒有意義。或許我已經醒了太久,需要休息一下。但我想先完成這個項目,所以任何幫助你可以提供將不勝感激。謝謝

回答

1

是的。如果你添加一些查詢字符串到yourl url,你可以在php中使用$ _GET獲取,而不用提交表單。

去這個URL地址http://yoururl/test.php?foo=bar導致回聲foo(如果沒有foo查詢字符串,你會得到警告)。

# test.php 
echo $_GET['foo'] # => bar 
+0

實際上,您會收到通知。並且只有當'error_reporting'設置爲顯示它們時。 – zneak 2010-04-18 15:41:36

0

是的,這是可能的。只需將GET數據附加到鏈接即可。 例如:

<a href="main.htm?testGet=1&pageNo=54>Test</a> 

您還可以使用JavaScript來構建URL。

如果你碰巧使用jQuery和要建立的GET數據動態,你可以這樣做:

var getParams = { testGet:1, pageNo:54 }; 
$(".myLink").attr("href", url + "?" + $.param(getParams)); 
1

這是什麼意思?

<a href="/page.php?type=foobar">Link</a> 

// page.php 

echo $_GET['type']; // foobar 
1

這就是我理解你的問題:

  1. 你有<form method="get" action="foo.php">樣標籤頁面上
  2. 你在你的網頁有一系列的<input type="text" name="bar"/>
  3. 你想通過額外的GET參數不是基於形式的輸入

如果是這樣,這是可能的,但我很難看到它如何幫助安全。來自客戶端的輸入信息是不可信的,因此即使您對GET值進行了硬編碼,您也必須在服務器端檢查SQL注入,HTML注入/ XSS等等。

有兩種方式:

  1. 使用隱藏輸入:<input type="hidden" name="myHiddenGetValue" value="foobar"/>
  2. GET參數添加到形式的行動:<form method="get" action="foo.php?myHardcodedGetValue=foobar">

如果你的意思是,你想擁有一個GET請求沒有表格,你只需要將所有的GET參數傳遞給href的一個鏈接:

<a href="foo.php?bar=4&baz=5">Click here!</a>