Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取Ajax请求来自的域

获取Ajax请求来自的域
EN

Stack Overflow用户
提问于 2011-01-13 10:13:25
回答 3查看 1.3K关注 0票数 0

我在我的J2EE应用程序上创建了一组JSONP Web Service,它将由不同域下的网站使用。web服务是使用Jersey框架创建的。

我想知道的是,有没有一种方法可以在我的Web服务代码中告诉我,请求来自哪个域?我希望在HttpHeader中有一个值,这个值就是这个值。

另外,发出Ajax调用的用户是否可以伪造此值,或者在发送调用之前输入另一个值?

我希望使用它的目的是限制可以调用我的web服务的域。我需要使用JSONP,但我不希望我的web服务对任何对我的JavaScript代码进行反向工程的人可用。

或者,有没有人知道另一种方法?

EN

回答 3

Stack Overflow用户

发布于 2012-05-04 11:38:16

如前所述,您可以使用HTTP_REFERER

一些代码示例: talker.php

代码语言:javascript
运行
AI代码解释
复制
<html>
    <head>
    <title>HTTP Referer example</title>
    <script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    </head>
    <body>
    <div class="result"></div>
    <script type="text/javascript">
        $(document).ready(function () {
            $.ajax({
                url: 'observer.php',
                success: function(data) {
                    $('.result').html(data);
                }
            });
        });
    </script>
    </body>
</html>

observer.php

代码语言:javascript
运行
AI代码解释
复制
<?php
    echo $_SERVER['HTTP_REFERER'];
?>

结果如下所示:

代码语言:javascript
运行
AI代码解释
复制
http://localhost/talker.php
票数 1
EN

Stack Overflow用户

发布于 2011-01-13 10:19:24

实现这一点的一种方法是对应该发送请求的远程域上的用户进行身份验证。因此,例如,远程域上的服务器可以向经过身份验证的用户发出某种加密值。然后,在发送JSONP请求时,您可以将此令牌发送到web服务,后者将对其进行解密。这个想法是两个服务器应该共享一些共同的秘密来加密/解密这个令牌。这样,您可以确保请求来自另一台服务器。

票数 0
EN

Stack Overflow用户

发布于 2011-01-13 10:39:37

您的RESTful服务托管在web服务器上,而使用REST时,您只能使用作为HTTP一部分的标准内容。例如,您可以获取发送请求的主机IP,但请注意这可能是欺骗的。

您可以选择要求对web服务请求进行数字签名。这基本上意味着调用者创建一个Message Authentication Code并将其添加到请求中。MAC是使用只有您的服务的授权用户知道的密钥生成的。您还可以(也应该)将用户ID添加到web服务请求中,从而允许您为每个用户提供自己的密钥。

请记住,如果您的服务是由javascript (例如使用AJAX)调用的,那么调用将来自客户端计算机。这意味着它们对逆向工程是完全开放的。如果您依赖javascript对请求进行数字签名,则javascript需要知道密钥,从而将其暴露给任何攻击者。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4678877

复制
相关文章
含有复选框的表格显示与隐藏切换
如果使用v-if,注意使用this.nextTick,并且this.nextTick 放的位置在里面,不要显示表格的时候就使用this.
tianyawhl
2020/12/16
2.3K0
含有复选框的表格显示与隐藏切换
下拉复选框
最近在项目开发中,有的地方用到了下拉复选框,于是再网上找了一下,有很多种写法,但自己感觉不是很好,又不想用插件,因为感觉引入的js太大,功能太繁杂,于是决定自己写一个小demo,效果如下:
ProsperLee
2018/10/24
4.5K0
下拉复选框
input checkbox复选框点击获取当前选中状态jquery
function checkAll(id) { //用is判断 // let checkStatus=$(id).is(':checked'); // console.log(checkStatus) //用prop方法(用attr获取不到) let checkStatus=$(id).prop("checked"); console.log(checkStatus) } html: <input type="checkbox" value="" id=
蓓蕾心晴
2018/07/06
2.6K0
全选-复选框/单选
效果是其次的,需要注意的是,向后端传递具体的数据,最后把需要的字段,数据传递给后端就可以了的
itclanCoder
2021/11/30
3.1K0
JS如何实现勾选全部复选框和不全选复选框
在一些后台管理系统里面,针对全选,复选框是一个很常见的操作,复选框可以执行多项选择的一种控件,有时,为了方便用户选中所有的复选框,网页界面
itclanCoder
2023/02/26
6.8K0
JS如何实现勾选全部复选框和不全选复选框
python 复选框 checkbutton
"create a bar of check buttons that run dialog demos"
用户5760343
2022/05/13
1.4K0
PyQt5 技巧篇-复选框绑定行内容,全选、清空、展示选中的内容功能实现演示,设置复选框选中,检查复选框选中状态
我设置两个有序序列,分别存储对应的复选框和行内容。 我的行内容是用的label标签。
小蓝枣
2020/09/22
3.7K0
PyQt5 技巧篇-复选框绑定行内容,全选、清空、展示选中的内容功能实现演示,设置复选框选中,检查复选框选中状态
HTML复选框_HTMLcheckbox代码
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167014.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/20
2.3K0
HTML复选框_HTMLcheckbox代码
全选-复选框-控制表格的列的显示和隐藏
在做一些后台数据统计功能时,需要做一些展示层面上的过滤,结合复选框,显示和隐藏某一列或某一行
itclanCoder
2021/11/30
3.9K0
全选-复选框-控制表格的列的显示和隐藏
java 按钮复选框监听事件及恢复保存状态
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; public class Panel1 { public static void main(String[] args) { Panel1 gui=new Panel1(); gui.go(); } JPanel panel,panel2,panel3; JTextArea text; JScrollPane scroller; JChec
葫芦
2019/05/09
1.9K0
按钮和复选框控件
本篇文章介绍Android SDK中的按钮和复选框控件。按钮可以分为多种,例如普通按钮(Button)、图像按钮(ImageButton)、选项按钮(RadioButton)、复选框(CheckBox)等
小小工匠
2021/08/16
1.3K0
使用复选框控制条件格式
我们可以使用条件格式来实现。选择A2:C20,单击功能区“开始”选项卡“样式”组中的“条件格式——新建规则”。在“新建格式规则”对话框中,选择“使用公式确定要设置格式的单元格”,在“为符合此公式的值设置格式”中输入:
fanjy
2022/03/09
2.4K0
使用复选框控制条件格式
微信小程序|复选框
复选框是一种可同时选中多项的基础控件,也是基于计算机语言的编程代码框架,它的作用是用鼠标点击进行操作,来完成选中多个目标。复选框,用方框表示。“复”表示两个或两个以上,“复选”表示可以选择两个或两个以上多个选项。复选框同单选框不同,单选框是圆的,只能选一个选项,不能选两个或两个以上多个选项。如下就是典型的复选框样式:
算法与编程之美
2020/03/26
2.1K0
微信小程序|复选框
ElementUI el-checkbox 点击Label不取消复选框的选中状态
在点击label的时候不取消复选框的状态 实现 将change事件改为click事件 <div class="grid-content bg-purple">
彼岸舞
2021/06/21
4.6K0
ElementUI el-checkbox 点击Label不取消复选框的选中状态
java swing 添加 jcheckbox复选框
该文章介绍了如何利用Java和JavaScript实现基于Web的客户端程序,以解决常见的客户端程序问题,例如网络连接、数据交互和页面渲染。主要使用的技术包括Java和JavaScript,以及HTML和CSS。文章还介绍了如何为程序添加图形用户界面和错误处理功能,并使用了一些示例代码。
YGingko
2017/12/28
3.5K0
java swing 添加 jcheckbox复选框
AngularDart Material Design 复选框 顶
用户可以点击该复选框以选中或取消选中它。 通常使用复选框允许用户从一组中选择多个选项。如果您有一个ON/OFF选项,请避免使用单个复选框并使用material-toggle。
南郭先生
2018/09/30
2K0
AngularDart Material Design 复选框
                                                    顶
当不使用会话状态时禁用它
并不是所有的应用程序或页都需要针对于具体用户的会话状态,您应该对任何不需要会话状态的应用程序或页禁用会话状态。
Java架构师必看
2021/03/22
5410
复选框批量处理前端实现
在项目中,对业务的批量处理是一个非常常见的方式,在具体的业务流畅,一般是以复选框多选进入批量处理的页面
粲然忧生
2022/09/28
7290
点击加载更多

相似问题

单击按钮时,复选框应处于禁用状态

54

如何在复选框处于选中状态之前禁用RadioGroup

62

如何使复选框处于禁用状态?

10

如何在复选框处于选中状态时提醒复选框值

11

Jquery如果复选框处于选中状态,则禁用其他复选框

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档