1

現在、現在の URL を受け取り、それを別のサイト URL に連結して適切なフィードバック グループにルーティングする次の JavaScript 関数があります。

function sendFeedback() {
    url = window.location.href;
    newwin = window.open('http://www.anothersite.com/home/feedback/?s=' + url, 'Feedback');
}

これが適切な用語かどうかはわかりませんが、window.openステートメント内の URL をマスクして、現在のウィンドウの URL を使用したいと考えています。

window.openJavaScript で元の URL をマスクするにはどうすればよいですか?

4

2 に答える 2

4

あなたができること:

1- サイトのドキュメント内の html フレームで外部サイトをマスクします。(例www.mysite.com/shortUrl/)

2- LocationHTTP ヘッダーを送信します (最終的に実際の URL が表示されます)

フィッシングの懸念があるため、ブラウザーは実際のアドレスを表示するために最善を尽くしていることに注意してください。

于 2010-10-18T23:25:16.630 に答える
0

JavaScriptで動作すると思っていても、URLをマスクしたい場合は、JavaScriptを使用しません。そのシナリオでは、多くのメリットは得られません。

理由は簡単です。

  • javascript/jQuery = 関数はクライアント側 (ブラウザ/お使いの PC/DOM) に属します

  • links、url、http、および headers = 関数は Apache に属します。

Apache は常にクライアント側の最上位にあります。SampeLink.html へのリンクが発行されるたびに、Apache が起動してファイルを読み取りますが、リンク/URL は JavaScript が要求する前に既に所有されています。そのため、JavaScript スクリプトでリンクを操作しようとしても、機能はしますが弱いとしても意味がありません。

.htaccess というすばらしいアプローチを紹介すると、その強力さに驚くことでしょう。.htaccess が SampleLink.html の親フォルダーにある場合、Apache は .htaccess の読み取りを完了するまで、DOM エンジン (ブラウザー) によるファイルの読み取りを拒否します。

あなたのシナリオでは、元のリンク/URLをカーテンの後ろに保ちながら、リンクを書き換えて「おとり」リンクをDOMエンジンに送信することで、.htaccessが何らかの作業を行うことができます。訪問者がアプリを壊そうとした場合、またはあなたが懸念していることは何でも、訪問者は 404page に到達します。

これは少し複雑ですが、私を失望させることはありませんでした。私はこれを「バイブル」http://corz.org/serv/tricks/htaccess2.phpとして使用しています。

于 2013-04-20T10:44:00.877 に答える