【发布时间】:2010-10-25 05:53:51
【问题描述】:
我正在开发一个在网格中显示产品的应用程序。在网格中有一个带有禁用/启用图标的列,单击该图标时,我通过 AJAX 向我的页面 manageProduct.aspx 发出请求,以启用/禁用该特定产品。
在我的 ajax 请求中,我将 productID 作为参数传递,因此最终的 ajax 查询为
http://example.com/manageProduct.aspx?id=234
现在,如果某人(专业黑客或 Web 开发人员)可以获取此 URL(很容易从我的 javascript 文件中获取),那么他可以编写一个脚本,该脚本将作为循环运行并禁用我的所有产品。
所以,我想知道是否有任何机制、技术或方法使用,如果有人试图直接执行该页面,它将返回一个错误(正确的消息“你没有被授权或其他什么”)如果该页面是从所需页面执行的,例如我显示产品列表的位置,那么它将正确执行。
基本上我想保护我的 AJAX 请求,所以没有人可以直接执行它们。
在 PHP 中:
在 php 中,我的同事通过检查页面的引用来保护这个 PHP 页面。如下:
$back_link = $_SERVER['HTTP_REFERER'];
if ($back_link =='')
{
echo 'You are not authorized to execute this page';
}
else
{
//coding
}
请告诉我如何在 ASP.NET (C#) 中使用相同或任何其他不同但安全的技术,我在我的应用程序中使用 jQUERY 来发出 ajax 请求。
谢谢
【问题讨论】:
-
如何验证应用程序本身的用户?您应该能够对 ajax 调用使用相同的技术。
-
我正在通过“用户名”和“密码”对我的用户进行身份验证。但是我在成功登录后将用户名存储为会话变量。万一任何用户在我的网站上尝试了任何攻击呢??
标签: c# asp.net jquery ajax security