gpt4 book ai didi

java - 如何通过 XMLHttpRequest 保护对 Java Servlet 的 Javascript 调用,以便在手动将 url 输入到浏览器中时无法使用该调用?

转载 作者:太空宇宙 更新时间:2023-11-04 14:27:59 25 4
gpt4 key购买 nike

我目前有一个使用 JavaScript 的网页,它执行以下操作:

function callSomething(parm) {
req = false;
if (window.XMLHttpRequest) {
try {
req = new XMLHttpRequest();
} catch (e) {
req = false;
}
} else if (window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
req = false;
}
}
}

if (req) {
var url_str = "/Servlet?parm=" + parm;
req.open("GET", url_str, false);
req.onreadystatechange = processReqChange;
req.send(null);
// process the response
}
return something;
}

我担心的是,如果有人在浏览器窗口中手动输入完整的 URL(例如“http://somesampleserver.com/Servlet?parm=something ”),也会显示响应。我该如何防止这种情况发生?我只希望代码能够获得响应。

最佳答案

听起来您想检查这是否是 XHR 请求。您可以查看X-Requested-With标题

Boolean isXHR = "XMLHttpRequest".equals(request.getHeader("X-Requested-With"));

更多信息here

关于java - 如何通过 XMLHttpRequest 保护对 Java Servlet 的 Javascript 调用,以便在手动将 url 输入到浏览器中时无法使用该调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26459059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com