- - PR -
別ウィンドウのリファラ
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-02-16 13:37
いつもお世話になっております。
A画面からJavaScriptでwindow.opneを使い、新規ウィンドウにB画面を表示する際に 新規ウィンドウのリファラがNothingになります。 新規ウィンドウのリファラにA画面のURLは入らないのでしょうか? 入らない場合にA画面のURLを入れる方法はあるのでしょうか? 作成はASP.NET+VB.NETでやっております。 <サンプルプログラム> A画面 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click RegisterClientScriptBlock("startup", _ "<script language='JavaScript'> window.open('B画面','new') </script>") End Sub B画面 Private Sub Page_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' ページを初期化するユーザー コードをここに挿入します。 If Not IsNothing(Me.Page.Request.UrlReferrer) Then Me.Label1.Text = Me.Page.Request.UrlReferrer.ToString End If End Sub よろしくお願いいたします。 [ メッセージ編集済み 編集者: insomnia 編集日時 2006-02-16 13:39 ] | ||||
|
投稿日時: 2006-02-18 21:57
どういう目的があるのでしょう?
目的があって、その目的を達成するための手段として、リファラを参照しようと考えられたのだと思いますが、その目的とは何でしょう? ブラウザを立ち上げて、アドレス欄に直接アドレスを入力したり、「お気に入り」から選択すると、リファラには何も入りません。それと同じではないかと思います。 たとえば、アンカー要素でリンクするとか、特定のリクエストクエリがあれば指定されたページへリダイレクトするとかすれば、リファラは入ると思います。 ただし、アプリケーションの配置先によっては、セキュリティ上のリスクがあります。 〆 written by Jitta@わんくま同盟 on 2006/02/18 | ||||
|
投稿日時: 2006-02-18 22:24
Invalid な HTML ですが target 属性を使ったリンクで代用するとか。 <a href="url" target="_blank">アンカーテキスト</a> まあ、Invalid と言いつつも、JavaScript よりはマシだなんて思ってますが。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-02-20 10:39
じゃんぬねっとさん、Jittaさんご回答ありがとうございます。
<Jittaさんへ> >どういう目的があるのでしょう? > 目的があって、その目的を達成するための手段として、リファラを参照しようと考えられたのだと思いますが、その目的とは何でしょう? URL認証をするためにリファラを使おうと思っています。 >特定のリクエストクエリがあれば指定されたページへリダイレクトするとかすれば、リファラは入ると思います。 特定のリクエストクエリとはどのようなものでしょうか? <じゃんぬねっとさんへ> >Invalid な HTML ですが target 属性を使ったリンクで代用するとか。 ><a href="url" target="_blank">アンカーテキスト</a> アンカーを代用してみたところやっぱりwindow.openと結果は同じでした。 URL直接入力と同じことになってるみたいです。 | ||||
|
投稿日時: 2006-02-20 11:02
リファラって所詮ただのヘッダ情報なので いくらでも書き換え可能な情報ですよね あと、ブラウザやプロキシの仕様で入ったりはいらなかったりするので 認証というものに使うにはあんまり良く無いように思えます。 | ||||
|
投稿日時: 2006-02-20 11:10
かるあさんご回答ありがとうございます。
>リファラって所詮ただのヘッダ情報なので >いくらでも書き換え可能な情報ですよね >あと、ブラウザやプロキシの仕様で入ったりはいらなかったりするので >認証というものに使うにはあんまり良く無いように思えます。 やっぱりそうですよね…他の方法を考えて見ます。 | ||||
|
投稿日時: 2006-02-20 20:25
この認証が、アドレスを直接入力されることによる表示を抑制するためのものなら、
* セッション変数に「乱数」を入れる。 * クエリにその乱数を追加する。 * 表示先ページで、両方の乱数を確認する。 というような方法で、リファラを参照しなくても、認証することが可能です。 # ロジックの検証はしてね 〆 written by Jitta@わんくま同盟 on 2006/02/20 | ||||
|
投稿日時: 2006-02-21 10:39
Jittaさんご回答ありがとうございます。
ロジックを検証してみます。 |
1