質問 > その他 > 「不正なページ移動です。」のメッセージ |
その他
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
mitsuhide |
投稿日時: 2014/6/19 14:34
対応状況: −−−
|
新米 登録日: 2014/5/29 居住地: 投稿: 7 |
Re: 「不正なページ移動です。」のメッセージ 事後報告ですが、EC-CUBEをインストールしなおして、全てをやり直しました。
不正なアクセスがやはりフロントエンドで出力されるので解決方法2で対応し、管理画面ログインエラーはdata/class/helper/SC_Helper_Plugin.php のgetSingletonInstance 内でretuen falseをコメントアウトすることで対処しました。これがどのように影響するかはわかりませんが、今のところプラグイン導入は考えておりませんし(今まで入れていたプラグインはカスタマイズで対応済)、正常に稼動できておりますので本件をクローズいたします。 require_once CLASS_EX_REALDIR . 'SC_Query_Ex.php'; if (is_null(SC_Query_Ex::getPoolInstance())) { // return false; } この対処法について、ご意見ある方からご教示いただければ幸いです。 当方のEC-CUBEの開発経験が浅かったものの、PHPができれば可能かと思っておりましたが、本件はデバッグできない状況に陥ったため、相当時間と労力を費やしてしまいました・・・ 結局事象の解消とまでは至りませんでしたが、いい勉強になりました。 カスタマイズ箇所をわかりやすくしておいたのが再インストールを容易にする要因だったので、バージョン管理を地味にやっておいて良かったです。 ご返答いただいた皆様に感謝申し上げます。 ありがとうございました。 |
mitsuhide |
投稿日時: 2014/6/8 2:29
対応状況: −−−
|
新米 登録日: 2014/5/29 居住地: 投稿: 7 |
Re: 「不正なページ移動です。」のメッセージ 返信ありがとうございます。
.htaccessにphp_flag display_errors をon off 関係なく追加するとInternal Server Errorとなります。 サーバがさくらのレンタルサーバで製作会社の管理上、サーバに入ることができないため、すぐにはApacheのログをみることができなそうです。 Internal Server Errorはさくらサーバでの特有の問題なのでしょうか? 他にログを見る方法が有りましたらご教示下さい。 何卒よろしくお願いいたします。 |
red |
投稿日時: 2014/6/5 11:23
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: 「不正なページ移動です。」のメッセージ なるほど。
.htaccessに php_flag display_errors on を書いて、真っ白になった時などにどんなエラーが出るのかを確認しないと何故そこでエラーが出るのかがわかりませんね
|
mitsuhide |
投稿日時: 2014/6/5 9:45
対応状況: −−−
|
新米 登録日: 2014/5/29 居住地: 投稿: 7 |
Re: 「不正なページ移動です。」のメッセージ 返信ありがとうございます。
プラグインは「商品情報追加プラグイン」を使用しておりましたが無効→削除しました。結果は変わりません。 1度インストールしてしまうと完全には元に戻せないと聞いたことがあるのですが、DBやキャッシュを自分できれいにする等、必要があるのでしょうか? 今回はスーパーフックポイントでエラーとなってるので、その辺りをヒントに削除しきれていないものを自分で削除したいのですが、どこの何を見ればいいのでしょうか? |
red |
投稿日時: 2014/6/4 8:34
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: 「不正なページ移動です。」のメッセージ インストールされているプラグインを全て無効にしてみると良いかもしれませんね
|
mitsuhide |
投稿日時: 2014/6/4 2:55
対応状況: −−−
|
新米 登録日: 2014/5/29 居住地: 投稿: 7 |
Re: 「不正なページ移動です。」のメッセージ 解決方法2)で進展があったため報告いたします。
管理画面のログイン時にも同様のシステムエラーが発生していたのですが、 data/class/pages/admin/LC_Page_Admin.php の $objPlugin->doAction の記述が全て Call to a member function doAction() on a non-object となっていたためその全てをコメントアウトしたら管理画面が出ました。 そのため、この対応と同じ方法でLC_Page.phpについても $objPlugin->doAction をコメントアウトを試みましたが、画面が真っ白になり、エラーログの出力もされておらず何が起きているか確認できませんでした。 $objPlugin->doAction()が正しく実行(もしくは実行を回避)されれば全てが解決するように思えます。 どなたかご存じないでしょうか? |
mitsuhide |
投稿日時: 2014/6/1 1:57
対応状況: −−−
|
新米 登録日: 2014/5/29 居住地: 投稿: 7 |
Re: 「不正なページ移動です。」のメッセージ ありがとうございます。
SC_SessionFactory_UseRequest.phpに session_regenerate_id(true); を見つけました。 当方がセッションを詳しく理解していない為、 具体的にこの関数を他の箇所に設置するべきなのか、それとも、 このSC_SessionFactory_UseRequest.phpに書かれた session_regenerate_idを(folse) に変えるべきなのかも分からないのが現状です。 当方もセッションの勉強不足のため、情報を収集し勉強しますが、 具体的にどのようにすればCookieで保持されるようになるのでしょうか? ご教示いただければ幸いです。 |
piropiro |
投稿日時: 2014/5/29 9:56
対応状況: −−−
|
常連 登録日: 2014/4/25 居住地: 投稿: 56 |
Re: 「不正なページ移動です。」のメッセージ SESSION_IDに関してですが、
これを保持するかしないかでユーザーが悪意のあるものかどうか 振り分けたり、不正なページ遷移に対してフィルターを掛けます。 脆弱なサイトになる可能性があるので、 Cookieで保持する解決策がBESTだと思います。 元々SESSIONIDをCookieに保持していて 主にログイン時や、会員登録時などに session_regenerate_id(true); などの関数を使って変更しています。 ログインページ、会員ページなどでは このIDを持っているかどうかくらいのフィルターをかけています。 |
mitsuhide |
投稿日時: 2014/5/29 2:36
対応状況: −−−
|
新米 登録日: 2014/5/29 居住地: 投稿: 7 |
「不正なページ移動です。」のメッセージ ------------------------------------------------------------------------------------------
[EC-CUBE] 2.13.1 [レンタルサーバ] sakura [OS] Linux [PHP] 5.5.6 [データベース] MySQL 5.6.14 [WEBサーバ] Apache [ブラウザ] Chrome [現象] 「不正なページ移動です。」のメッセージが管理画面「ログイン」時とフロントエンドの「ログイン」時と「カートに入れる」時に発生します。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=9272&forum=7 と事象および発生箇所が似ているのですが、異なる点としては以前は正常に稼動しており、 CookieにはPHPSESSIDとECSESSIDが保持されておりました。 あるタイミング(不明)からPHPSESSIDとECSESSIDがどのPCにも保持されなくなってしまったため、 Cookieを削除して以降、上記不具合に遭遇するようになってしまいました。 解決方法1)以前のようにCookieを保持するように修復する方法をご教示いただきたいです。 以下に関連しそうな環境設定を記載します。 ■mtb_constants.php define('SESSION_KEEP_METHOD', "useCookie"); ■.user.ini(最上位ディレクトリに配置のもの) upload_max_filesize = 5M ■.htaccess(最上位ディレクトリに配置のもの) ## 基本は SC_Initial.php で設定するが、ini_setで反映されないものはここで設定する # #php_value mbstring.language Japanese #php_flag mbstring.encoding_translation off #php_value output_handler none #php_flag magic_quotes_gpc off #php_flag session.auto_start 0 # ## INI_ALL なのにもかかわらず, ini_set で指定しても反映されない環境がある... #php_value mbstring.internal_encoding UTF-8 # ## デフォルトテンプレートの状態で 2M 近くになるため #php_value upload_max_filesize 5M ##php_value post_max_size 8M #php_flag register_globals off AddType application/x-httpd-php55 .php 解決方法2) 調査のために、.user.iniにsession.auto_start = "ON"やsession.save_pathを設定したこともありました。 その場合は、「入力内容のご確認」で「次へ」を押すと以下のシステムエラーとなり不採用の判断をしております。 その際のエラーログです。 Fatal error(E_ERROR): Call to a member function doAction() on a non-object on [/var/www/sites/d.v1.54style.co.jp/public_html/toyoura.co.jp/onlineshop/data/class/pages/LC_Page.php(105)] もしこのシステムエラーを解消できればこの方法でも構わないと考えております。 解決方法3) 調査のためにuseCookieをuseRequestに変更したこともありました。 しかし「カートを見る」で商品が消えてしまうため、こちらも不採用ではないかと判断しておりますが、 もし、「カートを見る」で商品が消えなければこの方法でも構わないと考えております。 全ての事象は1つの原因を解消することで全て解決しそうな気もしますが・・・ 色々試した結果どれもうまくいかず困っているのが現状です。 どれか1つでも構わないので解決する方法をご教示いただければと思います。 何卒よろしくお願いいたします。 ------------------------------------------------------------------------------------------ |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |