1

我正在使用 window.onback = history.forward(); 以防止用户重新提交数据。我知道这是一个 hack,我也不喜欢它,但这不是这个问题的目的。问题是代码阻止其他页面返回到带有代码的页面。让我澄清一下。

PageA.aspx 中包含 JavaScript 代码。用户提交 PageA,点击返回,但没有任何反应。那挺好的。现在用户单击没有代码的 PageB.aspx 的链接。当用户单击后退按钮时,应该将她带到 PageA.aspx,但它没有。它表现出与 PageB 具有无返回 JavaScript 代码相同的行为。

这是我在 PageA.aspx 中实现它的方式:

<script type="text/javascript">
window.onback = history.forward();
</script>

我已确认此代码仅在 PageA.aspx 中,而不在主文件、包含文件或其他任何内容中。这是一个在 SharePoint 2007 中运行的 ASP.NET 2.0 应用程序。浏览器是 IE7。

有任何想法吗?

4

1 回答 1

2

我没有时间(或 SharePoint07)来重现您的环境和场景,但是如果您在 JavaScript 中进行位置测试呢?

像这样的东西:

<script type="text/javascript">
if (window.location.indexOf("PageA.aspx", 0) > 0)
{
   window.onback = history.forward();
}
</script>

我无法解释发生了什么,但这应该有助于限制黑客攻击的范围。

于 2008-10-28T16:51:26.210 回答