本文目录一览:
- 1、jquery中ajax提交和post提交有啥区别???
- 2、PHP怎么接收jQuery的Ajax post过来的值?
- 3、如何有效防止XSS攻击/AJAX跨域攻击
- 4、如何接收ajax post请求
jquery中ajax提交和post提交有啥区别???
我猜测。你用 alert(data).输出 ajax 获取的数据。
在$.ajax()中 可以输出数据
在$.post()中 alert 没用,什么都不输出。
如果你的$.post() 使用的是'json' 的方式。那说明你代码没问题。你在尝试下 alert(data.xxx)
就可以输出你的数据了。
在$.ajax() 中,你使用json 还必须把获得的数据 eval 下。不然获得的数据不能按照json 的样式调用。
在$.post()中。你使用json 获取数据。当然你获取数据的格式必须是json 的格式。这样你就可以直接调用json 数据。就这样 data.xxxx each(data.xxx,function(i,con){})。明白了吗?
总的来说。$.ajax() 说是使用json 获取数据。实际上获取的是字符串,空有json的架子。使用前必须 ddd=eval(data);然后就可以 ddd.xxx 。你说麻烦不麻烦,还容易出错。
$.post() 使用json 获取数据才是真正的json 数据。我喜欢用这个
PHP怎么接收jQuery的Ajax post过来的值?
1、首先安装配置php集成环境。以phpstudy为例。
2、在www目录下新建一个html文件(new1.html),和一个php(ab.php)文件。
3、html文件先引用所需的类库jquery文件,其次在body部分,以一个简单的表单提交为例。
4、html的javascript-ajax部分,以上步body中的cilik事件为例。
5、php文件的编写部分,主要使用$_POST来接受ajax传输的数据,并可以返回不同类型的数据。如echo结果或者json_encode转码成为json格式的数据返还给前端做处理。
6、结果展示:表单中的内容在提交后,无刷新展示了出来。
如何有效防止XSS攻击/AJAX跨域攻击
1,利用字符过滤漏洞,提交恶意js代码,当用户打开页面时执行
2,需要填写图片地址或css等直接在页面加载时执行的地方,填写恶意js [javascript:xxxx],当用户打开包含图片的页面时,可以执行js。比如GET s1.game.com/fight/:id 表示发兵到某个用户,虽然做了用户验证,但没做来源验证,用户只需将这个地址发到同用户的论坛作为图片地址即可执行
3,通过跳转页面漏洞,比如 refer.php?message=xxxx ,页面上直接用 $_GET['message'] 的话,就会造成xss漏洞,把message的参数换成js代码或恶意网址,即可盗取用户cookie,或执行恶意js,或跳转到钓鱼页面等
4,利用浏览器或服务器0day漏洞
1,XSS主要是你的页面可以运行用户写的js,所以对所有的用户提交的数据进行过滤,对于判断用户是否登录状态的cookie信息进行加密,并且加上Ip信息,这样基本被盗取也无法获取登录权限
2,对update或delete的操作采用post方式提交,每次form里加一个唯一验证字符串,用hiden方式提交,用于服务器验证是否来自用户客户端
3,跳转程序需要对传递的url进行匹配判断,只允许特定的格式
4,时常关注安全方面的消息,一有漏洞即刻不上
如何接收ajax post请求
可以利用 PHP 预定义的 $_POST 变量用于获取来自 method="post" 的表单中的值 或 来自 ajax post 请求发来的值;例如下例所示:
利用 ajax 进行提交:$.post(url,{name:'xxx'},callback);
那么,在服务器的后台的PHP代码中,可以利用 $_POST 来获取ajax传递的值;
$name = $_POST['name'];
同样可以使用预定义的 $_GET 和 $_REQUEST 变量来接收传递的值;其中,$_GET 来接受 get 请求的传递值;$_REQUEST 用来接收包括 POST 、GET 的两者所有的传递值。
请注意,需要对传递过来的值进行过滤,确保传递的值不会引起SQL注入或xss攻击。