質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.48%

  • PHP

    20878questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • iframe

    124questions

    HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

  • ログイン

    120questions

    ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

  • セッション

    96questions

    Sessionはクライアントがサーバに送ったすべてのリクエストのことを指します。

PHPにて iframe内を使った場合のログイン情報の保持について

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,556

uonitarou

score 0

使用言語 [php]
やりたいこと[iframeタグを使ったログイン機能]

質問内容

index.htmlにて iframeタグを使用して 簡易的なログインページを埋め込み作成しました。

実際にそこで id PWを入れると ようこそ???様とでるようになりましたが、セッションスタートを行ってるにもかかわらず、ページを更新した際に自動でiframeタグ内がログイン画面に戻ってしまい、ログイン状態を保持することができません。

調べても同じような現象が見られなかったため質問させていただきました。

ちなみに ログインページを直接iframe内でなく開いた場合はログイン後ログイン状態が保持されているためiframe内に入れた場合に起こる問題だと考えております。

情報が足りない場合はご教授くださいませ。

お知恵をお貸しくださいませ。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

ページを更新した際に自動でiframeタグ内がログイン画面に戻ってしまい、ログイン状態を保持することができません。

「ログイン状態を保持することができません」はどのように判断されたのでしょうか?
「ログイン状態が保持されている」ならば「ログイン画面が表示されない」というのはアプリケーションがそのように作られている場合です。たしかに、一般的にはそのように作られているサイトが多いですが、質問者様がそのように作っていないのであれば、そのようにはなりません。 iframe の src 属性で指定されているURLがログイン画面のものであれば、「リロードすると、ログイン画面が表示される」のはあたりまえです。

一般的には、どのようにするかというと、

  1. iframe の src 属性にはトップ画面のURLを指定する
  2. アプリケーションのすべてのURL(トップ画面のURLを含む)において、未ログイン状態であれば、ログイン画面に遷移(リダイレクト)するようにアプリケーションサーバを設定する
  3. ログイン画面でログインに成功すると、もともとアクセスしようとしていたURLにアクセス(リダイレクト)する

というように組み込みます。このようなロジックを組み込んでいないのであれば、 iframe の src 属性でログイン画面を指定しているのですから、リロードすればログイン画面が表示されて当たり前だと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/07 21:04

    iframeのsrcはたしかにログイン画面を指定しております。納得がいきました。
    ということは、ログイン状態には、ログイン画面は自動的にログイン後画面に飛ばすようにすればよろしかったでしょうか?

    キャンセル

  • 2017/01/07 21:14

    はい、そうですね。そのように実装されているサイトも多いと思います。

    キャンセル

  • 2017/01/07 21:31

    ありがとうございます。もし可能であればあと1つ疑問があるので回答いただければと思うのですが、
    その場合は、セッションではなくCookieでないと判断し別ページに飛ばすことはできませんか?

    キャンセル

  • 2017/01/07 21:43

    すみません。phpに詳しくないのですが、セッションはcookieで管理されているので、セッションの有無で判定して良いと思います。

    キャンセル

  • 2017/01/07 21:56

    ありがとうございます。無事解決しました。
    ご指摘いただけなければずっと気づかなかったと思います。本当にありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.48%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    クリックジャッキングの対策方法は?

    PHP初心者です。アプリケーションを作るにあたり、 セキュリティの学習をしているところなのですが、 クリックジャッキングというのがでてきました。 調べてみても、対策方法がなかなか

  • 解決済

    window.location.href で画面変遷して応答200なのに画面が書き換わらない

    海外のスクリプトを調整を試みています。 コードの中で下記のように設定されている部分がありました。 echo '<script type="text/javascript"> to

  • 受付中

    Ajax,PHPを用いたWebページ

    質問 以下の画像のように Webページを作っていて1つのページの中に フレームを用いて別の2つのWebページを呼んでいます。 そこでページAからページBの内容を書き換えたい

  • 解決済

    WordpressのプラグインbbPressの削除キーの設定方法

    WordpressのプラグインbbPressを使用し、掲示板を製作しようと思っているのですが、レンタル掲示板によくある投稿する時に削除キーを設定し、後から削除したくなったら、投稿し

  • 受付中

    PHPのsessionを使ったログインについて

    現在PHPを使ってログインシステムを作ろうとしています。 色々調べてみた結果が「session」を使ったログインシステムでした。 まだわからない事だらけですので詳しい方

  • 受付中

    PHPで外部サイトのname要素に対してテキストボックス入力や、ボタンをおしたい

    PHPで外部サイトのname要素に対してテキストボックス入力や、ボタンをおしたいのですが、どのようにすればよろしいでしょうか?

  • 解決済

    PHPセッションCookie

    いつもお世話になっています。 数ある投稿の中ありがとうございます。 さて、早速本題に入らせていただきますが、私はPHP初心者でまだサンプルコードなどを参考にしながら勉強をしているも

  • 解決済

    OpenPNE2でのいいねボタンの実装

    はじめまして。 現在OpnePNE2.14.9を使用してSNSを運営しております。 日記に「いいね」ボタンを設置したいと考えているのですが 既存のプラグインではバージョン3以降

同じタグがついた質問を見る

  • PHP

    20878questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • iframe

    124questions

    HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

  • ログイン

    120questions

    ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

  • セッション

    96questions

    Sessionはクライアントがサーバに送ったすべてのリクエストのことを指します。