• ベストアンサー

wikipedia

数日前からwikipediaでログイン後にページを移動すると 勝手にログアウトしてしまいます。 ログインしてログイン完了のページが出て 何か一つでも次のリンクを踏むとログアウトしてます。 ログイン・セッションに問題が発生しました。 セッションハイジャックを防ぐために操作は取り消されました。 ブラウザの「戻る」を押して直前のページを再度読み込んだ後に、 もう一度操作を行ってください。 と表示されます。指示通りやっても再度ログアウトします。 ブラウザの情報やらをオールクリアすると 1度だけ正しくログインできるのですが、自分でログアウトすると また同じように最初の勝手にログアウトする状態に戻ります。 原因がわかりません・・・。

noname#133842
noname#133842

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

mediawikiのセッション管理の方法で ログインエラーが出るみたいです。 わたしも同様の現象になったことがあります。 結局、キャッシュを削除したら1回だけ ログインできるけど、再ログインはできないです。 ブラウザをIEにすると普通に使えましたんで とりあえずIEにするのが良いでしょう。

関連するQ&A

  • ログアウト後、リフレッシュしたい

    お世話になります。 現在jspで、ログアウトした後トップページへ戻る処理を作成中です。 [logout.jsp] <!-- トップページへ戻る --> <tiles:insert page="top.jsp" /> <!-- セッションのクリア --> <% session.invalidate(); %> 困っているのは、logout.jspからtop.jspへ遷移したとき、一部、古い情報が表示されてしまうことです(ログアウト前の情報)。 全ページ共通で使用しているヘッダーに、「ログイン・ログアウト」リンクを持っており、ログイン中には「ログアウト」と表示し、ログアウト中には「ログイン」と表示させるようにしています。 この部分が、logout.jspからtop.jspへ遷移したとき、最新の状態で表示されません・・・ログアウトしてtop.jspへきた直後にはまだ「ログアウト」となっています。ページをリフレッシュすると、「ログイン」となり、最新の状態が正しく表示されます。 キャッシュをクリアする方法か、top.jspへきたときに1回だけページをリロードする方法か、他によい方法をご存知であれば、教えてください。 よろしくお願いします。

  • [PHP]セッション破棄について

    はじめまして。 phpを始めて1週間の初心者です。 現在、ホームページでログイン処理とログアウト処理をphpのセッションを使って作成しています。 今回質問させて頂くのはログアウト処理についてです。 ログアウト処理をでセッションを破棄する際に http://oshiete1.goo.ne.jp/qa3224862.html を参考にして下記の処理を行わせています。 -------------------- logout01.php -------------------- <?php session_start(); $_SESSION = array(); if(isset($_COOKIE[session_name()])){setcookie(session_name(),'',time()-4200,'/');} session_destroy(); header("location: http://~トップページのURL~/"); ?> -------------------- 確認をしたところ、ログインしたユーザの情報は削除されているようでした。 また、http://oshiete1.goo.ne.jp/qa3224862.htmlを参考に下記のようなログアウト処理も行わせてみました。 -------------------- logout02.php -------------------- <?php session_start(); unset($_SESSION['access']); header("location: http://~トップページのURL~/"); ?> -------------------- 同じく確認したところ、ログインしたユーザ情報は削除されているようでした。 -------------------- 環境 -------------------- <サーバ> 【OS】 windows XP(テスト環境)、CentOS 5.2(公開環境) 【PHP】 5.2.6 【Apache】 2.2 <クライアント> 【OS】 windows XP 【ブラウザ】 Firefox 3.0.8 IE 7 -------------------- -------------------- 質問 -------------------- (1)logout01.phpとlogout02.phpの違いは何でしょうか。 (2)「unset($_SESSION);」は使用すると「$_SESSION」が使えなくなるとのことですが、  それはphpを再インストールしない限りは使えなくなるということでしょうか。  それとも、ブラウザを再起動すれば使えるという意味でしょうか。 (3)「unset($_SESSION);」と「unset($_SESSION['access']);」では何が違うのでしょうか。 (3)セッションを使用するとサーバ側にセッションIDを保存したファイルが保存され、  クッキーがクライアント側に保存されるとのことですが、logout01.phpとlogout02.phpを  実行した場合、サーバ側のセッションIDを保存したファイルとクライアント側のクッキーを  保存したファイルは削除されているのでしょうか。 (4)セッションの有効期限を指定していないため、logout01.phpとlogout02.phpを実行せずに  ブラウザを終了させた時もログインしたユーザ情報は削除されているようでしたが、  この場合もサーバ側のセッションIDを保存したファイルとクライアント側のクッキーを  保存したファイルは削除されているのでしょうか。 初歩的な質問で申し訳御座いませんがよろしくお願いします。

    • ベストアンサー
    • PHP
  • ブラウザバック禁止

    TOMCAT APACHE Mysqlを使用し卒業研究を行っています。 システムの概要としてはHTMLフォームより入力されたデータをjspで受け取りデータベースへ書き込み、ID・パスワードによりログインする会員ページのような物を製作しております。 データの受け渡しに一部セッションを使用しているのですが、ログアウトなどセッション切断後にブラウザバックを行うとTOMCATのエラーページが表示されてしまいます。(ページの表示の処理において、セッション情報を使用しているため当然ですが) そこでログアウト後にはブラウザバックをできないようにしたいのですが、これを明示的に行う事はできるのでしょうか? よろしくお願い致します。

    • ベストアンサー
    • Java
  • 自動ログアウト方法を教えてください。

    現在動いているシステムに、新たに複数ログイン禁止の設定を追加したいと考えています。 それで、以下の流れでシステムを作成しようと考えています。 (1)フラグ設定用のファイルを用意して、ログインした時にファイルへフラグを立てる。 *データベースを使用できないので、ファイルを使用。 (2)フラグが立っていれば、それ以降のログインを禁止にする。 (3)フラグが立っていなければ、ログインを許可する。 *この時、ログイン情報をセッション変数に保存する。 (4)ログアウトする時に、ファイルに持たせているフラグを消去する。 *この時、ログイン情報をセッション変数から削除する。 (5)ログアウトせずに放置していた場合、一定時間を過ぎると自動でログアウトする。 ただ、この時分からない事がありまして、 「自動でログアウトする時に、フラグの削除処理とセッション変数の破棄の指示をどのようにして出すのか?」 また、 「ログアウトせずにブラウザを閉じても自動でログアウトできるのか?」 という2点に調べています。 上記2点のことでアドバイスを頂けないでしょうか? また、複数ログイン禁止の設定を行う際に、注意しておいた方がいい点などがあれば教えて頂けないでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • ログインできない

    こんばんは。いつもお世話になっております。 些か抽象的な質問になってしまいますが、以下のような状況に困っております。 1.ページを移動したりすると、時に勝手に’ログアウトしてしまう事がある’。 2.ログイン状態で、他のサイト(違うサーバ)からリンクを辿って訪問すると、’ログアウトしてしまう事がある’。 以上のような感じなのですが、勝手にログアウトした時は、なかなかログイン出来ず、またログイン出来ても、ページ移動の際、直ぐにログアウトしてしまうといった状況です。 尚、ログインする際は、DB(MySQL)に問い合わせ、ログイン状態を保つため、登録データのidなどを、$_SESSION["id"]=$id; としてセッションに代入しており、ページ移動の際(ログインのみ閲覧可能なときは)、auth.php(ログイン画面、DB問い合わせページ)に移動するよう、 <?php session_start(); require_once("./auth.php"); としたり、 if($_SESSION["id"]==""){ header("Location: http://○○○.com/"); } のようにしています。 些か抽象的で、かつお恥ずかしい質問かと重々承知しているつもりですが、レンタルサーバを借り、実際にアップロードしたところ、開発環境では問題なかった状況で、非常に困っております。 DBの設計が可笑しいのか?PHPのソースが可笑しいのか?色々考えられる点はあるかと思いますが、何処を見直せばいいのか分からず、考えられる点などご意見を伺えれば幸いに思っております。 お忙しい中恐縮ですが、ご指導のほど宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • セッション無効できない。Servlet/JSP

    失礼します。 JavaでServlet/JSPでWebアプリを作っているのですが、 ログアウト処理(セッションの無効化)で困っています。 sessionを操作するSessionOperatorクラスでログアウト処理を実装しています。 SessionOperator sp = new SessionOperator(request,response); sp.logout(); /* ログアウトメソッド */ public void(){ session.invalidate(); } このようにセッションを無効化にしようとしているのですが、その後アカウントページのURLを直接入力でアクセスするとログインしている状態になってしまいます。 ログアウト後、直接入力でアクセスするとエラー画面を表示させたいです。 セッションはちゃんと無効化するにはどうすれば良いですか? セッションの無効化をSessionOperatorクラスで実行すると無効化できないんでしょうか。 どなたか教えてください。

    • ベストアンサー
    • Java
  • エキサイトメールについて

    エキサイトメールを使用してるんですがパスワードとIDを入力しても「セッションの有効期限が切れています。再度、ログイン画面からログインしてください。」とでてログインできません。ログアウトして再度ログインしてもログインできません。どうすればいいでしょうか。

  • F5でリロードしないとセッションがきれない

    ログイン画面を作成しており、ログイン画面を表示した時点でセッションを値なしにしています。 各処理画面にはglobal.asaにおいてセッション値の有無を確認し値なしの場合にはログイン画面にリダイレクトするようにしています。 またメニューバーにログアウトのハイパーリンクを設置しログイン画面を呼び出しています。 通常の処理ならば (1)ログイン画面→(2)各処理画面→(3)ログアウトといった感じで最終的にセッションを切り、(2)各処理画面に移動しようとしてもログインしない限りは処理画面に移動できません。 ブラウザをたちあげてから(1)(2)(3)の処理を動かす分には問題ありません。しかし、(3)ログアウト後に再度ログインしごちょごちょした後、(3)ログアウトしても(2)各処理画面に移動できてしまいます。これはセッションを切るロジックを通っていないようです。条件で通っていないとかではなく、何故か通っていないのです。何故でしょう?? ためしに既に画面を表示している状態で適当な文字をログイン画面のロジック内に記入し、ログアウトのハイパーリンクを押しても表示されません。F5キーを押した時のみ表示されます。※Ctrl+N で新規ウィンドウを表示してもでません。 よろしくお願いします。 最悪、解決できない場合はハイパーリンクを押した時にF5キーを押したようなイベントを使用したいのですが、もしこういう処理があるのなら教えてください。 よろしくお願いします。

  • ブラウザを閉じた瞬間にログアウト

    セッション・クッキーを使用せずに『ブラウザを閉じた瞬間に(強制的に)ログアウトさせる』 方法はありますでしょうか? 現在の処理方法はMySQLでflagを立てて処理 flag = '1' なら ログイン中… flag = '0' なら ログアウト 処理させたい内容 『ブラウザを』 → 『閉じた』    → 強制ログアウト実行          → 『開いたまま』 → まだログイン中にさせておく アドバイスよろしくお願い致します。

    • 締切済み
    • PHP
  • ログインしたら他からログインできないようにしたい

    PHP+MySQLで会員サイトを作っています。 1. 誰か一人がログインしていたら、そのログイン会員と同じIDとパスワードでログインしようとするとログインできないようにするか、元のログインしていた人が強制的にログアウトするようにしたい。 2. 一人のユーザーが複数アカウントを作って会員サイトを使いたい放題にするのを阻止したい。 そのため、「PC1台からは必ず1ユーザーのみしかログインできないようにしたい」です。 (複数PCを使われたら仕方ないかもしれません・・・) よく銀行サイトのようにログイン中に他のブラウザや端末からログインしようとすると「すでにログイン中です。ログインし直しますか?」のようになりますが、1.はこんな感じを考えています。 仕組みとしてはどのようにするのが良いのでしょうか? 1. ログイン時にセッションIDを作り、データベースにそのセッションIDとIPアドレスを記憶しておいて、Web上で何か操作するたびにブラウザ側のセッションIDとデータベース側のセッションIDを比べて同じなら操作を実行し、違うなら操作できないようにする。 2. ログイン中に別のブラウザからログインしようとすると、データベース側に保存されているセッションIDが違うのでログインできないようにする。 3. 同じIPアドレスですでにログイン中の場合、同じPCからは他のアカウントでログインできないようにする。 こんな感じでしょうか? 何か問題点やそもそもこの仕組は間違っていて常套手段があるなどありましたらお教えください。 なんとなく、IPアドレスのチェックはWiMAXなどは時間とともに変わったりするのであまり良くはないかもしれません。 どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう