gpt4 book ai didi

asp.net - 为什么 ASP.NET 比 ASP Classic 更安全?

转载 作者:行者123 更新时间:2023-12-02 22:28:26 25 4
gpt4 key购买 nike

我读过几个地方,说 ASP.NET 比 ASP Classic 更安全。但从未见过任何关于原因的实际论据。

以标准登录系统为例。用户通过表单向服务器发送用户名和密码。这在两种语言中都是以相同的方式完成的。在这两种语言中,其余的都在服务器上完成。为什么在这里选择 ASP.NET 而不是 ASP Classic?

最佳答案

如 ScottRFrost 所述,Request Validation默认情况下防止 XSS。就个人而言,我更愿意关闭它并开发一个应用程序以使用 insead 的输出清理(例如 HTML 编码输出到网页,或正确编码和转义 JavaScript 中使用的输出)。此方法不限制用户输入,因此它不会像请求验证那样限制应用程序功能。例如它将允许将 HTML 输入到一个字段中,该字段将显示在网页上而不是由浏览器解释(想象一下不允许发布 HTML 的 HTML 开发人员论坛)。如果您在 ASP.NET 中使用此方法,就页面的变量输出而言,您将使用与标准 ASP 开发非常相似的方法。

为了回答您的观点,在身份验证(验证用户名/密码组合)期间,经典 ASP 和 ASP.NET 之间没有太大区别。 ASP.NET 提供了一些可以放入页面的用户控件,还提供了 Membership Provider模型,但本质上您必须以任何一种方式实现逻辑。

ASP.NET 还包含作为标准的授权组件,因此可以通过 web.config 文件中的设置来限制对整个应用程序或某些 URL 路径的访问。这可以防止开发人员忘记在每页的基础上包括授权检查。不过,任何更细粒度的访问检查仍需要在 ASP.NET 中手动处理。

ASP.NET 还提供了无法通过 Web 服务器读取的专用文件夹,例如/App_Data。这为存储不应通过 HTTP 直接读取的应用程序相关文件提供了一个方便的位置。您可以在经典 ASP 中手动执行此操作,但您需要将此目录存储在 Web 根目录之外,或者您需要设置本地文件夹权限,以便 IIS 用户无法读取这些文件。

总而言之,我不会说 ASP.NET 本质上比经典 ASP 更安全,除了新手开发人员不太可能在 ASP.NET 中创建易受 XSS 攻击的网站这一事实。

关于asp.net - 为什么 ASP.NET 比 ASP Classic 更安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12648698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com