【发布时间】:2014-02-23 22:12:26
【问题描述】:
有点奇怪...
我正在构建一个购物车。当用户输入他想要的数量并点击“添加到购物车”时,<form> 操作应该使用 PHP $_SERVER['QUERY_STRING'] 和一些其他信息(即产品 ID,在 MySQL 中获取)重定向他们。
这是我的表单,全部在 PHP 回显中...
<?php
echo '<form method="GET" action="cart.php?'.$_SERVER['QUERY_STRING'].'&action=add&item_id='.$data->item_id.'">
<small>Quantity </small><input type="text" size="2" placeholder="1" name="add_quantity">
<input type="submit" name="add_clicked" class="button" value="Add to Cart">
</form>';
?>
提交后,URL 会重定向到 cart.php,但只包含查询字符串,而忽略了 item id 和 action=add。
假设我在数量框中输入了“2”,URL 看起来像这样cart.php?add_quantity=2,之后什么都没有。
不胜感激! 谢谢!
【问题讨论】:
-
我希望你知道,$_SERVER['QUERY_STRING'] 是高度 XSS vulnerable
-
我不是,谢谢你通知我!除了
htmlentities,您知道传递 query_string 的另一种方法吗?
标签: php forms get query-string