javascript - 是否可以防止直接打开弹出窗口而不是通过 Javascript 打开?

标签 javascript c# asp.net

我正在处理的应用程序依赖于许多弹出窗口。这些弹出窗口依赖于查询字符串。如果有人可以在浏览器地址栏中键入 url,页面将抛出错误,因为查询字符串值是动态构造的。

function myFunction(id)
{
    window.open("mypopup.aspx?id=" + id); 
}

如果页面的请求者不是 Javascript,是否有为什么要阻止页面显示?如果有人输入如下内容:

https://mycompanyname.com/path/mypopup.aspx

它不应该让用户这样做。或者,至少检查请求者是否不是 javascript,以便我可以显示消息或将用户重定向到不同的页面?否则,如果没有构建请求所需的所有这些数据,页面将抛出异常。

感谢您的帮助。

最佳答案

直接在 myPopup.aspx 中验证查询字符串,如果缺少某些内容,只需重定向或显示一条消息。

使用 Request.QueryString 集合在 myPopup.aspx 中进行验证。

据我所知,没有简单的方法来验证请求是否来自 javascript。您可以尝试创建一个 token 来验证发送者是否是您期望的那个,但如果您只需要验证参数,则无需担心是谁发送请求。

关于javascript - 是否可以防止直接打开弹出窗口而不是通过 Javascript 打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37170774/

相关文章:

javascript - 如何给每个圆圈一个随机的颜色?

C# 收集内存泄漏对象的垃圾

c# - IIS 不为远程客户端上的网站页面提供服务

c# - 从 Web 服务检索 10,000 行并插入到 OWC11 电子表格中

javascript - 像 Uber 网站一样滚动前的 Div

javascript - 如何获取ajax表单提交返回值

javascript - Angular JS 确认密码消息已显示

c# - 尝试在 Winform 应用程序中显示大 (2 GB) Tiff 图像的一部分

c# - 需要多个声音输出到多个扬声器

javascript - 我可以得到推荐人吗?