1

Web サイトで外部 URL を開くことができるようにする必要があります (ブラウザーとソースの両方で)。URL をコピーしてクエリ文字列を好きなように編集できるようにしたくありません。URLをiframeなどで開き、そのソースを非表示/マスクする方法はありますか?

これは asp.net 2.0 の Web サイトです。

4

6 に答える 6

3

次のことをしていただけませんか。

  1. ユーザーからのパラメーターを受け入れます。
  2. これを使用してPDFを一時ストアにダウンロードするWebページまたはバックエンドプロセスを用意します。
  3. 次に、これをクライアントにストリーミングして、PDFが生成されるURLを知らないようにしますか?(または、一時的にダウンロードせずに、直接ストリーミングします。)

このようにすると、ユーザーは他のサイトについて知ることができなくなり、はるかに安全になります。

これは、ユーザーが他のユーザーのPDFを取得するために渡されたパラメーターを変更できないように、いくつかの検証/認証を使用することもできます。

于 2009-01-27T14:55:31.420 に答える
3

いいえ。クライアント マシンに何かをさせている場合 (つまり、ブラウザで Web ページを指定するなど)、その情報をクライアントから保持することはできません。

そのページのサーバー側をフラッシュ ウィジェットまたはその他のコンテナーでレンダリングできますが、クライアント マシンでは実行できません。

于 2009-01-27T14:31:39.830 に答える
1

私はしばらく前に同じような問題を抱えていて、これらの方針に沿って何かをしました(C#.NET2.0)。

    public void StreamURLContents(string URL)
    {
        WebRequest req = WebRequest.Create(URL);

        using (HttpWebResponse resp = (HttpWebResponse)req.GetResponse())
        using (Stream dataStream = resp.GetResponseStream())
        using (StreamReader reader = new StreamReader(dataStream))
        {
            string currentLine = reader.ReadLine();
            while (currentLine != null)
            {
                Response.Write(currentLine);
                currentLine = reader.ReadLine();
            }
        }
    }

特定のアプリケーションに明らかに合うようにHTMLの記述を調整する必要があり、ターゲットサイトのすべての相対リンク(画像URL、CSSリンクなど)を壊しますが、単純なテキストだけを求めている場合はHTMLを使用して、Webアプリにサーバー側で取得させたい場合は、これが適切な方法です。

于 2009-01-27T14:58:41.740 に答える
1

最善の策:サーバー側のXMLHTTPリクエストを作成し、レスポンスを取得して、AJAXを使用してページにフィードバックすることができます。

于 2009-01-27T14:37:00.130 に答える
1

次の方法でサーバーサイドで実行できます。

  1. 必要なサイトへのネットワーク接続を開く
  2. URLのHTML/GetリクエストからHTMLを取得する
  3. サーバー側のページに挿入する

ただし、これによりページの読み込みが大幅に遅くなり、法的な問題が発生する可能性があります。

于 2009-01-27T14:38:08.617 に答える
0

次の手順で、ワンタイム URL を作成できます。

  1. GUID をデータベースに格納する
  2. クライアントがハイパーリンクまたはその他の手段を介して GUID を要求できるようにします。GUID は偽のページとして URL で使用されます。例: http://www.company.com/foo/abc-123-efg-456.aspx
  3. URL 書き換えを使用して、ディレクトリ「foo」へのすべてのリクエストをキャプチャして検査し、ハンドラにリダイレクトします。
  4. GUID が有効であることを確認し、データベースで「期限切れ」としてマークします。
  5. 要求への応答として、適切なデータ (PDF?) をクライアントに送信します。
  6. 同じ URL への後続の要求はすべて失敗します。
于 2009-01-28T06:09:26.193 に答える