如何确定调用动态 JavaScript 文件的页面和 ASP.net 中的用户
How do I determine between a page calling a dynamic javascript file and a user in ASP.net
我正在使用在 asp.net 中生成的动态JavaScript文件,然后作为普通的JavaScript嵌入到html页面中。有没有办法让我确定动态javascript是直接打开还是通过html页面中的嵌入式脚本打开?
<script src="http://localhost:60919/js.ashx" type="text/javascript" charset="utf-8"></script>
如果这是从网页调用的,您应该会看到 referer 属性中列出的加载页面。
context.Request.UrlReferrer
或
context.Request.ServerVariables["HTTP_REFERER"]
如果由用户直接加载,则此值应为 null。但是,垃圾邮件发送者/黑客可以手动设置引用者,以独立于您的页面访问脚本。
更新: 处理程序.ashx:
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/javascript";
context.Response.Write("alert('"+context.Request.UrlReferrer+"');'n");
}
public bool IsReusable {
get {
return false;
}
}
}
默认值.aspx:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<script src="Handler.ashx"></script>
<h2>
Welcome to ASP.NET!
</h2>
<p>
To learn more about ASP.NET visit <a href="http://www.asp.net" title="ASP.NET Website">www.asp.net</a>.
</p>
<p>
You can also find <a href="http://go.microsoft.com/fwlink/?LinkID=152368&clcid=0x409"
title="MSDN ASP.NET Docs">documentation on ASP.NET at MSDN</a>.
</p>
</asp:Content>
警报在网页加载时显示 http://localhost:port/Default.aspx。直接访问时,警报('')。
相关文章:
- 借助asp.net验证或java脚本对多个文本进行验证
- 将Javascript数组发送到控制器ASP.NET MVC
- ASP.NET通过单击JavaScript按钮触发c#事件
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 从javascript调用asp.net codebehind函数
- 使用javascript的Asp.net内容占位符
- 获取ASP.NET Ajax Timer状态
- ASP.NET网络摄像头显示
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- asp.net,包括iss上的javascript slow
- 选择不在GridView-ASP.NET中激发
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- 将Javascript日期转换为ASP.NET日期格式
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- 在asp.net中确认是或否消息
- ASP.NET MVC 3-在ajax调用后,重定向到新页面或生成页面刷新
- asp.net中的验证工具