よろしくお願いします。
本やHPや過去の質問をさがしても分からなかったです。

あるシステムのログイン画面で、ログインに成功したら
frame.aspというaspで画面を上下にhtmlのフレーム設定タグで分割します。
この設定をいれてログアウトしたところ、フレームがわかれたままログアウトし、再びログインしたら、今度は3つにフレームが分かれました。
ログアウトと同時にフレーム設定を解除したいのですが、
やり方を教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

単にログアウト設定するところで、ターゲットフレームを_topに設定すればいいのではないですか?


具体的なHTMLがないので詳細はわかりませんが、例えば

<a onClick="logout();" target="_top">ログアウト</a>

みたいな感じで。
    • good
    • 0
この回答へのお礼

ありがとうございました。
_topでできました。

お礼日時:2001/03/12 09:44

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qasp.netでのセッションを使用したログイン

asp.netでmssql server を利用してログイン機能を実装しました。
以下のようなコードでmssqlに保存してあるIDとパスが一致すれば
以降の画面ではセッションにID、パスが保存され
page loadでセッションにID、パスがなかればページがすすんでいけないような設定にしています。
機能は問題なく動作しているのですがこのような仕様はセキュリティ上問題はないのでしょうか。
商用サイトではないのですが、ある程度広域に向けたサイトを構築しようと考えておりまして、セキュリティ向上のため、工夫できるようなことがあればご意見いただきたいです。
よろしくお願いいたします。

**************************************************************
ログインページ
**************************************************************
Dim staffid As Integer
Dim staffname As String
Dim adminflag As Boolean

Protected Sub btnLogon_Click(ByVal sender As Object, ByVal e As System.EventArgs)
'ユーザーIDの入力チェック
If txtUserID.Text = "" Then
lblErr.Text = "ユーザーIDを入力してください。"
Return
End If
'パスワードの入力チェック
If txtpassword.Text = "" Then
lblErr.Text = "パスワードを入力してください。"
Return
End If

'ユーザーとパスワードの検証
If Not CheckUserPassword(txtUserID.Text, txtpassword.Text) Then
lblErr.Text = "ユーザーIDまたはパスワードが違います。"
Return
End If
'セッション変数へ値をセットする
Session("StaffID") = staffid
Session("StaffName") = staffname
Session("AdminFlag") = adminflag

End Sub

Private Function CheckUserPassword(ByVal userid As String, ByVal password As String) As Boolean
Dim ret As Boolean
Dim strSQL As String
strSQL = "SELECT staffID, staff_name, admin_flag , permission FROM tbl_staff " & _
"WHERE userID = '" & userid.Replace("'", "''") & _
"' AND password = '" & password.Replace("'", "''") & "'"

'接続文字列を取得する
Dim cnStr As String = System.Configuration.ConfigurationManager.ConnectionStrings("hogehogeConnectionString").ConnectionString()

'コネクションを定義する
Using connection As New SqlConnection(cnStr)
'コマンドを定義する
Dim command As New SqlCommand(strSQL, connection)
'コネクションを開く
connection.Open()

Try
'コマンドからデータリーダーを定義する
Dim dr As SqlDataReader = command.ExecuteReader
'データリーダーから結果を読み込む
If dr.Read Then
'対象データが存在する場合
'正しいユーザーIDとパスワードが指定されたので、
'データリーダーから読み出したデータをメンバ変数にセットする
staffid = dr("staffID")
staffname = dr("staff_name")
adminflag = dr("admin_flag")
permission = dr("permission")
ret = True
Else
'対象データが存在しない場合
'不正なユーザーIDまたはパスワードが指定された
ret = False
End If
Catch ex As Exception
'例外処理(SQLエラーなど)
ret = False
End Try

'コネクションを閉じる
connection.Close()
End Using

'結果を返して終了する
Return ret
End Function


**************************************************************
ログイン後に行くページでの設定
**************************************************************

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

'[ユーザーID]ボックスにフォーカスをセットする

If Session("StaffID") Is Nothing Then
Response.Redirect("~/top.aspx")
ElseIf Not Session("AdminFlag") = True Then
Response.Redirect("~/top_normal.aspx")

End If

End Sub

asp.netでmssql server を利用してログイン機能を実装しました。
以下のようなコードでmssqlに保存してあるIDとパスが一致すれば
以降の画面ではセッションにID、パスが保存され
page loadでセッションにID、パスがなかればページがすすんでいけないような設定にしています。
機能は問題なく動作しているのですがこのような仕様はセキュリティ上問題はないのでしょうか。
商用サイトではないのですが、ある程度広域に向けたサイトを構築しようと考えておりまして、セキュリティ向上のため、工夫できるようなことが...続きを読む

Aベストアンサー

(1) セッションハイジャック対策 

→ フォーム認証(FormsAuthentication)を使う

http://d.hatena.ne.jp/atsukanrock/20100728/1280305074
http://d.hatena.ne.jp/teracc/20100424

(2) SQL インジェクション対策

シングルクォートのエスケープだけでは弱いかも

→SqlParameterCollection を使う

http://msdn.microsoft.com/ja-jp/library/ms998271.aspx


(3)パスワード漏洩対策

パスワードはDB上にハッシュ化(不可逆暗号化)して持つ。

仮に生データが漏れても使用できない。

Q【ASP.NET】 ログインコントロールにおいて

おせわになります。
Visualstudio 2005 のASP.NET VB でWEBサイトを作成しております。

ASP.NET  で ログインコントロールを使って、認証ページを作っているのですが。

ID
PASSWORD

この2つのIDをログインコントロール内で、使用しているのは分かるのですが、

このIDに加え

ID
名前
PASSWORD

という3つのデータによって、ログイン制御を行いたいと考えております。
ログインコントロール内で、テーブルを追加して、「名前」を増やした所、
このIDをVB.NET側で、受け取れません。

ASP.NET 側の ログインコントロールのソースは




/////// ここからが問題の箇所 /////////////
<tr>
<td align="right" style="height: 24px; width: 149px;">
<asp:Label ID="Label2" runat="server" AssociatedControlID="USERID">ID:
</asp:Label></td>
<td style="height: 24px; width: 312px;">
<asp:TextBox ID="USERID" runat="server" MaxLength="5" OnTextChanged="USERID_TextChanged"
Width="152px">
</asp:TextBox>
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="USERID"
ErrorMessage="ユーザーIDは5文字以下にしてください。" ToolTip="ユーザーIDは10文字以下にしてください" Type="String"
ValidationGroup="Login1">*</asp:RangeValidator>
</td>
</tr>

/////// ここまでが問題の箇所 ////////////


/////// ここからは通常に起動 /////////////
<tr>
<td align="right" style="height: 24px; width: 149px;">
 <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">氏名(カナ):</asp:Label></td>
<td style="height: 24px; width: 312px;">
<asp:TextBox ID="UserName" runat="server" Width="152px" OnTextChanged="UserName_TextChanged" MaxLength="10">
</asp:TextBox>
<asp:RangeValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
ErrorMessage="ユーザー名は10文字以下にしてください。" Type ="String" ToolTip="ユーザー名は10文字以下にしてください" ValidationGroup="Login1">
*</asp:RangeValidator>
</td>
</tr>
<tr>
<td align="right" style="height: 29px; width: 149px;">
<asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">パスワード:
</asp:Label>
</td>
<td style="width: 312px; height: 29px;">
<asp:TextBox ID="Password" runat="server" TextMode="Password" Width="152px">
</asp:TextBox>
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
ErrorMessage="パスワードが必要です。" ToolTip="パスワードが必要です。" ValidationGroup="Login1">
*
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="center" colspan="2" style="color: red">
<asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
</td>
</tr>


VB.NET 側では以下のスクリプトで指定しています。



Protected Sub LoginButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Login1.LoggedIn

////////// 受け取れない //////////////////
Dim strID As String = Login1.UserID.ToString


////////// 受け取れる //////////////////
Dim strID As String = Login1.UserName.ToString

////////// 受け取れる //////////////////
Dim strID As String = Login1.Password.ToString

このように、LOGIN コントロールに UserIDを追加できません。
よって、session などに、 UserID のVALUE を受け取れるようにしたいのですが、
asp.net側の 設定はどのようにしたらよろしいのでしょうか。

ログインコントロールは あきらめて、通常の独自の認証システムを作るべきですかね。

ログインコントロールに 通常のテキストボックスとして、追加はできないものでしょうか。

どなたかご存知の方、いらっしゃいましたら、教えていただけますと幸いです。

どうぞ宜しくお願いいたします。

おせわになります。
Visualstudio 2005 のASP.NET VB でWEBサイトを作成しております。

ASP.NET  で ログインコントロールを使って、認証ページを作っているのですが。

ID
PASSWORD

この2つのIDをログインコントロール内で、使用しているのは分かるのですが、

このIDに加え

ID
名前
PASSWORD

という3つのデータによって、ログイン制御を行いたいと考えております。
ログインコントロール内で、テーブルを追加して、「名前」を増やした所、
このIDをVB.NET側で、受け取れません。

...続きを読む

Aベストアンサー

もともとのLoginクラスに UserIDなど独自に追加したプロパティが無いためです

独自にテンプレート化して追加したのであれば LoginコントロールのFindControlなどを使ってそのコントロールを特定しましょう

今回の例示なら
strID = CType( Login1.FindControl("USERID"), TextBox ).Text
といった具合です

もともとの UserNameやPasswordといったIDのコントロールを削除していないにもかかわらず Login1のプロパティで取得できないとなるとこのコードだけでは判別不能ですね

QASP.NETでIPアドレスログイン管理を教えてください

こんばんわ。
現在、クライアントのIPアドレスを取得してSQLServerテーブルでログイン管理をするWebを作成したいと思っております。

ずっと調べていたのですが分からず、実はまだASP.NET自体あまり理解できておりません。書籍などで勉強してから投稿しろ!と思われるかもしれませんが時間がなく困っています。
どうかご教示を宜しくお願い致します。

わかる範囲で.vbにコードを書いてみましたがIPアドレスを取得してSQL Serverに接続後にIF文でエラーメッセージとメインページ表示を分岐したいのですが分らないのです。。。


Partial Class INDEX
Inherits System.Web.UI.Page
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

'ページを初期化するユーザーコードをここに挿入します。
If Not IsPostBack Then

'---------IPアドレス取得---------------
Dim strHost As String
Dim ip As System.Net.IPHostEntry
Dim ipAddr As System.Net.IPAddress

'ホスト名を取得
strHost = System.Net.Dns.GetHostName()

'IPリストを取得
ip = System.Net.Dns.GetHostByName(strHost)

'IPリストの最初を取得
ipAddr = ip.AddressList(0)


'---------SQL接続---------------
Dim cn As SqlConnection = New SqlConnection("Server=servername;database=data;UID=id;PWD=pass")
Dim cmd As SqlCommand = New SqlCommand("SELECT * FROM IPAdd WHERE IP='" & ipAddr & "' AND Authority1='True'")

cn.Open()
Dim reader As SqlDataReader = cmd.ExecuteReader()
DemoGrid.DataSource = reader

DataBind()
reader.Close()
cn.Close()

End If
End Sub
End Class

こんばんわ。
現在、クライアントのIPアドレスを取得してSQLServerテーブルでログイン管理をするWebを作成したいと思っております。

ずっと調べていたのですが分からず、実はまだASP.NET自体あまり理解できておりません。書籍などで勉強してから投稿しろ!と思われるかもしれませんが時間がなく困っています。
どうかご教示を宜しくお願い致します。

わかる範囲で.vbにコードを書いてみましたがIPアドレスを取得してSQL Serverに接続後にIF文でエラーメッセージとメインページ表示を分岐したいのですが分...続きを読む

Aベストアンサー

ASPと違ってvbファイル内にHTMLコードを直書きしてもページには反映されません
# やってやれないことは無いのですが ...
適切なページへ遷移する方法を考えたほうが良いように思います

もしテスト的にやりたいのであれば
Loadイベントで判断だけしてフラグをセットします
LoadComplateイベントでフラグを判断材料にしてResponse.Writeを使ってHTMLを吐き出すとか

ログインのコントロールならツールボックスの中の『ログイン』グループにあるコントロールを使うことをお勧めします

Framsetは ASP.NETと相性がよくありません
パネルコントロールなどを使ってフレーム分けしたほうが良いように思います

.NET Framework SDKの『QuickStartチュートリアル』をインストールして基本的な使い方を学習しましょう

QASP.NETでログイン認証をしないとページを見れないようにしたい

ASP.NETでソフト開発を行っております

自分が実装したい事ですが、

ログインページが表示され
そこで認証をしないと
他のページを見る事ができないようにしたいのです

お勧めの方法ありましたら
教えて下さい

Aベストアンサー

このあたりを入り口とするといいかも
http://www.atmarkit.co.jp/fdotnet/dotnettips/135aspauth/aspauth.html

QASPとASP.NETとASP.NET2.0の違い

Web開発初心者です。

帳票をPDF表示するWebアプリケーションを開発することになり、
言語はASPを使用することになりました。

そこで
ASP
ASP.NET
ASP.NET2.0
の違いをご存知の方がいらっしゃいましたら教えていただけますでしょうか。
それぞれIIS以外に必要な実行環境、ツール等も教えていただけると助かります。

不明瞭な箇所がありましたら説明させていただきます。
すいませんがよろしくお願いします。

Aベストアンサー

ASP用のツールは、多分、無いですね・・・
#メモ帳でASPファイルを作成してサーバにコピーとか。

ASP.NET用の開発ツールは、Microsft社製の「VisualStudio」シリーズがあり、
ASP.NET(1.1)は、「VislaStudio 2003」で、
ASP.NET2.0は、「VislaStudio 2005」で開発できます。


「Visual Web Developer 2005 Express Edition 」は、
「Visual Studio 2005」のEditionの1つで、有料のパッケージ版(入門者つき)と無料のダウンロード版があります。
機能的には同じで、無料版だからといって、商用利用の制限等はありません。

(http://www.microsoft.com/japan/msdn/vstudio/express/faq/default.aspx)

「Express Edition を商用目的で使用することはできますか。」

また、「ASP.NET1.1用」の無料の開発ツールとして、3rdパーティ製ですが、
「Web Matrix 」と言うのがあります。

「ASP.NET Web Matrix Project 日本語版」
(http://www.microsoft.com/japan/msdn/asp.net/webmatrix/)

ASP用のツールは、多分、無いですね・・・
#メモ帳でASPファイルを作成してサーバにコピーとか。

ASP.NET用の開発ツールは、Microsft社製の「VisualStudio」シリーズがあり、
ASP.NET(1.1)は、「VislaStudio 2003」で、
ASP.NET2.0は、「VislaStudio 2005」で開発できます。


「Visual Web Developer 2005 Express Edition 」は、
「Visual Studio 2005」のEditionの1つで、有料のパッケージ版(入門者つき)と無料のダウンロード版があります。
機能的には同じで、無料版だからといって、商用利用...続きを読む


おすすめ情報