在<map>区域中使用POST方法传递变量?

时间:2017-06-26 08:06:10

标签: php html post get

我是网络开发的新手。

我目前正在开发一个有映射图片的网页。我会发布一段代码,让你知道我在说什么。

 <AREA SHAPE=POLYGON HREF='front.php?area=104' ALT="104"  TARGET="_self" COORDS="47,205, 78,237, 93,222, 63,190, 47,205">

正如您所看到的,我正在通过GET方法传递我想要的变量。 我想改为POST方法,因为我觉得它更安全,我打算用我从该地图得到的变量对我的MySQL数据库进行查询。 (通过调整网址,GET很容易被篡改,对吗?)

我用谷歌搜索,我也在stackoverflow中搜索,但我找不到类似的东西。我希望只用HTML,PHP和MySQL来做这件事。我不是很熟悉Java或Ajax,如果解决方案需要其中一个,我请你使用额外的细节!

事先谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用JQuery执行此任务。

$(".some-class").on("click", function(e) {
  // disabling default event handler
  e.preventDefault();
  var data = $(this).attr("ALT");
  $.ajax({
    method: "POST",
    data: data,
    url: "your-url.php",
    ...
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<AREA CLASS="some-class" SHAPE=POLYGON HREF='#' ALT="104" TARGET="_self" COORDS="47,205, 78,237, 93,222, 63,190, 47,205">

为了安全起见,您还需要使用密钥(令牌),您将替换为页面上的某些隐藏字段。必须为每个用户会话随机生成密钥。当用户发送数据时,您应该检查用户传递给您的密钥是否相同。谷歌更多:csrf令牌防御。