C# 阻止外部站点访问我的ashx页面

C# 阻止外部站点访问我的ashx页面,c#,javascript,asp.net,.net,C#,Javascript,Asp.net,.net,我的业务逻辑代码存储在.ashx文件中。我发送一个POST请求来创建数据,发送一个GET请求来检索JSON数据,然后在页面中显示 我的问题是:如何防止Joe Nobody直接调用我的.ashx页面并创建用户、修改数据、检索数据等 是否每个.ashx页面都需要一些“登录检查”?还是有一种更广泛的方式来实现这一点 谢谢 您可以通过web.config限制对文件夹的访问 <location path="CustomerFolder"> <system.web> <aut

我的业务逻辑代码存储在.ashx文件中。我发送一个POST请求来创建数据,发送一个GET请求来检索JSON数据,然后在页面中显示

我的问题是:如何防止Joe Nobody直接调用我的.ashx页面并创建用户、修改数据、检索数据等

是否每个.ashx页面都需要一些“登录检查”?还是有一种更广泛的方式来实现这一点


谢谢

您可以通过web.config限制对文件夹的访问

<location path="CustomerFolder">
<system.web>

<authorization>
<allow roles="Admin, Customers"/> //Allow users in Admin and Customers roles

<deny users="*"/> // Deny rest of all
</authorization>

</system.web>
</location>

//允许用户担任管理员和客户角色
//否认其余的

如果您将所有ASHX文件放在同一个文件夹中,您应该能够拒绝匿名访问该文件夹,以实现您的目标。完美!非常感谢。那么澄清一下,这是在IIS级别完成的吗?这将阻止任何外部站点访问我的ASHX文件,而不必在每个页面中写入冗余的验证代码?您可以通过web.config来实现