通过Ajax将数据从Javascript发送到JSON,再发送到PHP
Sending data from Javascript, to JSON, to PHP via Ajax
我看了很多与这个问题相关的答案,因为这个问题在stackoverflow上被问了很多次。大多数答案似乎都涉及到通过ajax调用的ajaxvariable.send()部分发送数据。我正在考虑使用一个不同的解决方案,我还没有看到张贴(可能是错的,但我看过很多)。然而,由于它没有被张贴或建议在其他地方,我担心我可能会打开安全问题的大门(或任何其他可能是错误的我的方法)。如果以下情况成立,在URL变量中粘贴JSON对象是否有问题?
假设如下:
(1)对象内传递的信息量不大。
(2)将传入JSON对象的变量从发送页面上的数据库中取出,并与接收页面上的数据库进行检查(请注意,不是在查询中直接检查,而是根据PHP数组中放入的可能值的范围进行检查),以确认在对传递的变量值进行任何操作之前没有更改任何内容。
Javascript, JSON(发送页面):
...
var getplaninfo = {};
getplaninfo["initialfee"] = document.getElementById("initialfee").value;
getplaninfo["monthlyfee"] = document.getElementById("monthlyfee").value;
var planinfo = JSON.stringify(getplaninfo);
ajaxRequest.open("GET", "index.php?choice=" + planinfo, true);
ajaxRequest.send(null);
PHP(从包含中替换发送页面上的div内容):
if (isset($_GET["choice"])) {
$returned = $_GET["choice"];
$decode = json_decode($returned,true);
$initialfee = $decode["initialfee"];
$monthlyfee = $decode["monthlyfee"];
}
我问的原因是我对AJAX很陌生。我对PHP中的安全性相当熟悉,但对AJAX还不太熟悉。谢谢你的宝贵时间。
您所读到的示例与您上面的想法之间的区别在于,您通常会通过POST将数据传递给服务器脚本。你的想法运行一个GET请求,并通过那里传递数据。
GET和POST负载的不同之处在于GET有一个限制。在这里阅读更多关于这个限制的信息:不同浏览器中URL的最大长度是多少?
当用户输入没有被正确处理时,在接收数据的脚本中会发生AJAX请求的安全问题。例如SQL注入,XSS
相关文章:
- AngularJS JSON not arriving php
- json-ajax动画防止通过php发送数据
- 404在Jquery AJAX JSON PHP POST上找不到
- 使用mysql为JSON php数组分配多个列值
- 通过Javascript/AJAX/JSON/PHP将数据从JQuery传递到数据库
- jQuery Autocomplete不起作用(JSON PHP到js)
- Highcharts json php 多个系列
- 如何使用 Ajax Json PHP 和 MySQL 应用排序和过滤
- jquery json PHP HTML 不显示结果
- 通过Ajax获取的变量为空(Phonegap Ajax Json PHP MySQL)
- Cross-domain JSON/PHP
- 将数据从Javascript发送到JSON PHP服务
- 需要帮助与json/php的一部分
- AJAX JSON + PHP JSON error
- JSON php MySql菜单不显示数据在HTML页面
- JSON/PHP解析错误
- AngularJS - $http.get返回HTML而不是JSON (php &mysql)
- 如何使用json PHP JQUERY Ajax从数据库中读取数据
- 使用 Ajax JSON PHP 将表单数据存储到数据库中
- AJAX, JSON, PHP联系人表单,事件.preventDefault不工作,数据不通过电子邮件发送