1

私はwindow.onback=history.forward();を使用しています。ユーザーがデータを再送信できないようにするため。私はそれがハックであることを知っています、そして私もそれが好きではありません、しかしそれはこの質問が何についてであるかではありません。問題は、コードが他のページがコードのあるページに戻るのを妨げることです。はっきりさせておきます。

PageA.aspxにはJavaScriptコードが含まれています。ユーザーがPageAを送信し、Backを押すと、何も起こりません。それは良い。ここで、ユーザーは、コードがないPageB.aspxへのリンクをクリックします。ユーザーが[戻る]ボタンをクリックすると、PageA.aspxに移動しますが、クリックしません。PageBにバックなしのJavaScriptコードがある場合と同じ動作を示します。

これが私がPageA.aspxに実装した方法です:

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

このコードはPageA.aspxにのみ存在し、マスター、インクルード、その他には存在しないことを確認しました。これは、SharePoint2007で実行されているASP.NET2.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 に答える