ajax如何防止浏览器显示ajax url
ajax-How to prevent browsers to show ajax url
当我们想通过ajax将一些数据发布到php页面时,任何人都可以看到URL以及发布的值。
这可能非常危险,有什么方法可以确保这一点吗?我可以隐藏URL或以任何方式对URL进行编码,使用户无法看到和访问它吗?
这是一个示例代码,正如您所看到的,URL can数据在源代码中公开,也在像Firebug这样的检查器中公开。
function reg_user(id){
$(document).ready(function() {
$.ajax({
type: "POST",
url: "reg_user.php",
data: "id="+id,
success: function(msg){
str=$.trim(msg)
if (str=='ok'){
}
}
})
})
};
感谢
没有办法。您导航的所有url都会被浏览器的开发工具栏或网络捕获工具(如wireshark)捕获。
Ajax是一种使javascript能够发送http请求的工具,但javascript不能加密http消息。当调用ajax函数时,意味着告诉浏览器现在发送http请求。
即使javascript能够加密http消息,您也需要在javascript代码中编写加密密钥。
我犯了一个错误,整个http消息都是用https加密的,包括头和请求体,但这个功能是由浏览器提供的。如果您在https网站中使用ajax,javascript会告诉浏览器发送https请求,并由浏览器负责加密发送的消息。
不,用户将始终能够通过开发工具或某些网络监控工具了解您正在进行的调用。您可以压缩和缩小JavaScript,但开发人员始终能够找到您的URL调用。
同意@JosephteDreamer的评论:客户端的每一件事都是可见的,只是保护你的服务器端。
类似的问题;
如何从浏览器页面源隐藏jquery ajax中的详细信息
祝好运
您应该保护您的服务器以及客户端和服务器应用程序之间的连接。
您可以使用HTTPS进行通信,使用POST在标头中传递的数据将自动使用HTTPS进行加密。
为了隐藏您的API URL,您可以考虑使用代理服务器,这样您的客户端应用程序将调用代理服务器,而代理服务器则是您真正的API。这样,在检查来自客户端的请求时,只有指向代理服务器的URL可见。
- Ajax URL路径未替换当前URL
- 如何检查这个代码点火器php函数是否工作,该函数是否在ajax url中使用
- 有条件地创建ajax url参数以与jQuery Validate一起使用
- AJAX URL 追加与存储的 jQuery .data() 冲突
- 我想知道如何只激活表单提交,而不获取jquery中ajax url的值
- 在AJAX url中如何获取php变量的参数值
- Ajax和jQuery对$Ajax url的调用不起作用
- AngularJS$http使用Ajax URL发送数据
- Ajax url parameter
- 当 ajax url 是 '/' 时,会执行什么
- 使用 ajax url 调用函数
- 需要有关 AJAX URL 的建议
- 在 Ajax URL 中获取 Django 项 ID
- Ajax url parametetr using Twig path
- /r/ 在这个 ajax url 调用中是什么意思
- 在 jquery ajax URL 中包含 $_SERVER filepath 的语法
- AJAX URL 中的十进制值
- Wordpress ajax url ... not send
- Jquery Ajax url two times
- JQuery/Ajax URL referencing