Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用asp.net进行安全的ajax调用?_Asp.net_Ajax_Asp.net Ajax - Fatal编程技术网

如何使用asp.net进行安全的ajax调用?

如何使用asp.net进行安全的ajax调用?,asp.net,ajax,asp.net-ajax,Asp.net,Ajax,Asp.net Ajax,我是ajax新手,在我的网站上,我调用ajax,它将传递参数,并根据参数从数据库中检索记录 但我可以在Inspect元素的网络选项卡上看到完整的url链接,如下所示 Employee.aspx?userid=45 我检查这个堆栈溢出。我不清楚这件事 在一些网站上,他们提到我们可以使用令牌、验证用户身份、使用cookie。但是我不知道如何在我的ajax代码中使用这些东西,答案并不是固定的,而是基于您所采用的方法。您提供的堆栈溢出链接指出了与当前链接问题相同的内容。为了防止URL对最终用户的可见性

我是ajax新手,在我的网站上,我调用ajax,它将传递参数,并根据参数从数据库中检索记录

但我可以在Inspect元素的网络选项卡上看到完整的url链接,如下所示

Employee.aspx?userid=45
我检查这个堆栈溢出。我不清楚这件事


在一些网站上,他们提到我们可以使用令牌、验证用户身份、使用cookie。但是我不知道如何在我的ajax代码中使用这些东西,答案并不是固定的,而是基于您所采用的方法。您提供的堆栈溢出链接指出了与当前链接问题相同的内容。为了防止URL对最终用户的可见性,以下是一些可能的方法

1。使用唯一的密钥/别名/ID

为了防止表的主键直接从devtools显示给最终用户,您可以在用户表中设置一个用户键列,每个用户都有一些随机的4-6位唯一代码,以便识别每个用户,并使用这些键通过URL或服务调用而不是主键本身进行通信。这同样适用于任何表。有些人更喜欢URL中使用的用户名别名,比如员工姓名“John Marshal”,也可以使用类似employee.aspx?username=John Marshal的URL

2。基于身份验证或cookie的令牌

这是需要学习的地方。它背后的基本思想是基于URL调用的服务将只提供给在用户端已经存在令牌或cookie的真实用户。因此,通过这种方式,调用不会显示任何数据,它只会返回“403禁止”或“401未经授权”HTTP响应。而这样的URL将只存在于真实用户可以访问的页面上。这意味着除非用户登录,否则无法从此类URL获取数据

尽管有很多方法可以实现这一点,但这些都是可以考虑的方法;你完全不能保证所请求的URL的安全,它的方法可以


希望有帮助

我可以知道为什么我会投反对票吗?