如何清除跨站脚本中的 ashx url?

发布于 2024-11-14 17:10:40 字数 303 浏览 2 评论 0原文

例如

,如果有人添加到网址末尾 , 我有一个处理程序 MyPage.ashx?parameter=1&parameter=2 ;

MyPage.ashx?parameter=1&parameter=2<script>alert('Test')</script>

javascript 将在客户端执行

是否有办法清除跨站点脚本中的 url?

For example I have a handler MyPage.ashx?parameter=1¶meter=2

if someone added to the end of the url <script>alert('Test')</script>

MyPage.ashx?parameter=1¶meter=2<script>alert('Test')</script>

javascript will be executed on client side

Is there anyway to clean url from cross-site scripting?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深府石板幽径 2024-11-21 17:10:40

javascript 仅在您输出原始用户输入时才被执行。

如果您的 ashx 需要输出参数,您必须对它们进行适当的编码。假设您要在 ashx 页面中创建 HTML,您需要 HtmlEncode 参数输出之前的值。特定类型有不同的编码方法,如果没有 ashx 脚本的更多详细信息,很难判断需要使用哪种编码方法。

The javascript is only being executed because you are outputting user input raw.

If your ashx needs to output parameters you must encode them suitable. Assuming you are creating HTML in your ashx page you need to HtmlEncode the parameter value before you output it. There are different encoding methods for particular types, it's hard to tell which needs to be used without more details of the ashx script.

别在捏我脸啦 2024-11-21 17:10:40

检查 ASP.NET 请求验证

除此之外,您永远不应该将未转义或未经验证的渲染请求输入参数返回给客户端。

Check ASP.NET Request Validation

In addition to that you should never render request input parameters unescaped or unvalidated back to the client.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文