我从来没有真正想过这个,但它有助于我目前正在努力的一些安全性。是否可以在没有实际输入字段的情况下提交GET数据,而只是从URL获取它?
如果是这样,我该怎么做呢?它应该是可能的,但同时它根本没有任何意义。
也许我已经醒了太久,需要休息一下。但是我想先完成这个项目,所以你能提供的任何帮助都会受到赞赏。感谢
答案 0 :(得分:1)
这是你的意思吗?
<a href="/page.php?type=foobar">Link</a>
// page.php
echo $_GET['type']; // foobar
答案 1 :(得分:1)
这就是我对你的问题的理解:
<form method="get" action="foo.php">
标记<input type="text" name="bar"/>
GET
参数
醇>
如果是这样,那是可能的,但我几乎看不到它对安全性的帮助。来自客户端的输入不可信,因此即使您对GET
值进行硬编码,也必须针对SQL注入,HTML注入/ XSS以及诸如此类的内容检查服务器端。
您有两种方式:
<input type="hidden" name="myHiddenGetValue" value="foobar"/>
GET
参数添加到表单操作:<form method="get" action="foo.php?myHardcodedGetValue=foobar">
如果您的意思是希望在没有表单的情况下发出GET
请求,则只需将所有GET
参数传递给链接的href
:
<a href="foo.php?bar=4&baz=5">Click here!</a>
答案 2 :(得分:1)
是。如果你将一些查询字符串添加到你的网址,你可以使用$ _GET在php中获取,而无需提交表单。
转到此网址地址http://yoururl/test.php?foo=bar会导致回显foo(如果没有foo查询字符串,则会收到警告)。
# test.php
echo $_GET['foo'] # => bar
答案 3 :(得分:0)
是的,这是可能的。只需将GET数据附加到链接即可。 例如:
<a href="main.htm?testGet=1&pageNo=54>Test</a>
您还可以使用Javascript构建网址。
如果你碰巧使用jQuery并想要动态构建GET数据,你可以这样做:
var getParams = { testGet:1, pageNo:54 };
$(".myLink").attr("href", url + "?" + $.param(getParams));