1

ページが読み込まれる前でもブラウザのURLにアクセスして差し替えたいです。

私は、ユーザーがどのページに着地しているかを見られるようにしたくないだけです。

Page_Init で URL にアクセスしたいのですが、方法がわかりません。

何か考えはありますか? - 解決策はありますか?

編集: URL のサーバー名を変更 (または削除) する必要はなく、フォルダー/ファイル名のみを変更する必要があります。したがって、元のページの場所が次の形式の場合:またはhttp://www.server.com/folder/file.aspxに変更したいと思いますhttp://www.server.com/misc/GeneralPage.aspxhttp://www.server.com/

Response.Redirect は行いません。同じページにとどまりたいのですが、URL を変更したいです。

Server.Transfer はヘルパー プリ ランディング ファイルを使用したデフォルトのソリューションですが、私には十分ではありません。同じページに留まりたいが、表示されるURLを変更したい。


解決:

HTML5 ともう 1 つのソリューションの方向性に関する回答がここにありました。これはすぐに調査するつもりでしたが、もうここにはありません (消えてしまいました)。それがあなたの答えだったら、もう一度書いてください。それは重要なものでした。

私はここで、私の行動の決定として見つかった最良の選択肢を示しました(今のところ、より良い解決策が見つかるまで)が、それを信用しません(回答としてマークしません)。詳細にテストされたソリューションです。

4

4 に答える 4

2

ブラウザのセキュリティ機能のため、これは不可能です。ブラウザがプログラマーにユーザーが実際に使用していたものとは異なるURLを表示することを許可した場合、無意識のうちに機密性の高い銀行情報を第三者に渡す人がはるかに多くなります。

URLは、ブラウザによって要求され、サーバーによって返された特定のリソースを識別することになっています。

そうは言っても、ドメイン管理レベルで使用できるドメインマスキングのトリックがあります。GoDaddyで使用される手法の1つは、ドメインをマスキングで転送することです。これにより、基本的にWebサイトがiframeに読み込まれ、元のURLが元のドメインで保持され、新しいコンテンツがiframeで提供されます。

このテクニックを自分で使用することもできます。コンテンツをブラウザに返すときは、新しいコンテンツを指すsrc属性を持つiframeを返します。

それでも、表示される実際のURLを変更する限り、これは不可能であり、なぜ本当にこれを実行したいかはわかりません。

于 2012-05-06T01:28:23.367 に答える
1

セキュリティ上の理由から、URL スプーフィングやフィッシング攻撃を阻止するために URL 全体を変更することはできません。

ただし、URL のハッシュ (#) 記号の後の部分は変更できます。URL のこの部分は、クライアント側の JavaScript でのみ使用でき、現在のページをリロードせずに状態情報を保存するために使用できます。windows.location.hash物件です。

于 2012-05-06T01:34:34.160 に答える