バージョン選択

フォーラム

メニュー

オンライン状況

88 人のユーザが現在オンラインです。 (65 人のユーザが フォーラム を参照しています。)
登録ユーザ: 2
ゲスト: 86
shun123 cyb2019 もっと...

サイト内検索

質問 > その他 > EC-CUBE3をインストールできない

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tak245ga
投稿日時: 2019/7/8 14:14
対応状況: −−−
新米
登録日: 2019/7/3
居住地:
投稿: 10
Re: EC-CUBE3をインストールできない
返答ありがとうございます。

確認してみましたが、リロードしても同じ値でした。
一旦ページを閉じて再度アクセスしても同じ値でした。
「送信を承諾」にチェックを入れて送信をクリックしてみましたが、
こちらも変化はありませんでした。

468
投稿日時: 2019/7/8 21:18
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1791
Re: EC-CUBE3をインストールできない
という事はセッションは問題なさそうですね。
コントローラークラスの該当の箇所(STEP1〜2へ遷移)で
どのように処理が流れているか、ソースにechoなどを書き込んで確認されてみてはいかがでしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

tak245ga
投稿日時: 2019/7/9 9:13
対応状況: −−−
新米
登録日: 2019/7/3
居住地:
投稿: 10
Re: EC-CUBE3をインストールできない
返答ありがとうございます。

自分で何か出来ないかと考えて、同じサーバ内の別ドメインにインストールを試みてみました。

しかし、結果は一緒でやはりstep1から先に進みません。

すみません。phpはほとんど知識が無くどのようにしたらよいのかが全く分からないです。
どのような作業を行ったらよいのでしょうか?
468
投稿日時: 2019/7/9 9:39
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1791
Re: EC-CUBE3をインストールできない
とりあえず該当の箇所が問題なのか確認する為に
/src/Eccube/Controller/Install/InstallController.php 75行目付近の記述を書き換えてみて操作してみてください。

if ($form->isValid()) {
    $sessionData = $session->get(self::SESSION_KEY) ?: array();
    $formData = array_replace_recursive($sessionData, $form->getData());
    $session->set(self::SESSION_KEY, $formData);

    return true;
}




if ($form->isValid()) {
    $sessionData = $session->get(self::SESSION_KEY) ?: array();
    $formData = array_replace_recursive($sessionData, $form->getData());
    $session->set(self::SESSION_KEY, $formData);

    return true;
} else {
    dump($form->getErrors(true));
}

これで画面に何か表示されたら、isValidでfalseになっている(入力チェックエラー)と思います。
エラーが表示されますので、その内容を確認して、対応という事になるかと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

tak245ga
投稿日時: 2019/7/9 10:45
対応状況: −−−
新米
登録日: 2019/7/3
居住地:
投稿: 10
Re: EC-CUBE3をインストールできない
返答ありがとうございます。

以下のような表示が出ました。
FormErrorIterator {#378 ▼
-form: Form {#295 ▶}
-errors: array:1 [▶]
}

三角を押して広げると結構な行になったので、errorの方だけ広げてみました。

-errors: array:1 [▼
0 => FormError {#380 ▼
-message: "The CSRF token is invalid. Please try to resubmit the form."
#messageTemplate: "The CSRF token is invalid. Please try to resubmit the form."
#messageParameters: []
#messagePluralization: null
-cause: null
-origin: Form {#295}


「The CSRF token~」を検索してみました。
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=17750&forum=2
これを見つけたのですが、インストールがまだなのか「app/config/eccube」は空でした。

こちらで大体の原因は判明しそうでしょうか?
468
投稿日時: 2019/7/9 12:16
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1791
Re: EC-CUBE3をインストールできない
STEP1→STEP2への操作の際、POSTデータに_tokenは含まれていますか?

あと、ECCUBEとは関係の無い事例ですが、
以下のページに
「The CSRF token is invalid. Please try to resubmit the form.」が表示された時にPHPセッションデータの管理者を変更すれば解消されたという事が書かれています。
https://qiita.com/mknstone/items/d7736186aa317f46cbd7

パーミッションの関係等で、PHPセッションデータへの書き込みが上手くいっていないのではないでしょうか?
この辺りはサーバの設定となってきますので、レンタルサーバのサポートへの確認になってくるのではないかと思いますが...


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

tak245ga
投稿日時: 2019/7/10 10:57
対応状況: −−−
新米
登録日: 2019/7/3
居住地:
投稿: 10
Re: EC-CUBE3をインストールできない
返答ありがとうございます。

>STEP1→STEP2への操作の際、POSTデータに_tokenは含まれていますか?

フォームの内容ですよね?
<form name="form1" id="form1" method="post" action="/html/install.php/step1">
<input type="hidden" id="install_step1__token" name="install_step1[_token]" value="BCWwhiJttNllPrl7UePtri0xi9S1qQkjPVAymeGtMBo" />

このようになっています。
ちなみに、このvalueとcookieにある値が違うのは関係ないですよね?
468
投稿日時: 2019/7/10 11:54
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1791
Re: EC-CUBE3をインストールできない
tokenは正常に出力されているようですね。
こちらの値はcookieの値とは異なっていて問題ありません。

CSRF対策の仕組みですが
画面を表示する際、valueの値を
PHPセッション内と、htmlのinputタグの2箇所に保存するような動きをしていると思います。

表示された画面でそのままformを送信すると、
inputタグに出力した値が_tokenとしてサーバに送信される形となり、
サーバ上でPHPセッションに格納した値と比較して一致すればOK、一致しなければNGという処理をしていると思います。
この仕組みによって、送信されてきたデータの送信元formが
サーバより正規に出力されたformという事が確認できるという仕組みになっております。
(100%安全という訳ではありませんが...)

今回は上記の処理でPHPセッションに値が正常に格納されておらず
送信されたPOSTデータと値が一致していないのではないでしょうか?

先日の投稿でdump()の記述を追記していただきましたが、
その下にでもdump($_SESSION);と追記するとPHPセッションに格納されている値が画面に表示されるのではないかと思います。
試しに私が同じ画面で出力してみた値は以下の通りです。
array:3 [▼
  "_sf2_attributes" => & array:2 [▼
    "_csrf/install_step1" => "FU6iAzreDgHcquoaSnSX3hpgADS5sLN6wXy-trYlZGY"
    "eccube.session.install" => array:1 [▶]
  ]
  "_sf2_flashes" => & []
  "_sf2_meta" => & array:3 [▶]
]

_csrf/install_step1がtokenの値になるかと思います。
表示されたSTEP1のinputタグにも同じ値が出力されていました。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

tak245ga
投稿日時: 2019/7/10 14:59
対応状況: −−−
新米
登録日: 2019/7/3
居住地:
投稿: 10
Re: EC-CUBE3をインストールできない
返答ありがとうございます。

少し違いますね…

書き方は、
if ($form->isValid()) {
$sessionData = $session->get(self::SESSION_KEY) ?: array();
$formData = array_replace_recursive($sessionData, $form->getData());
$session->set(self::SESSION_KEY, $formData);

return true;
} else {
dump($form->getErrors(true));
dump($_SESSION);
}
ですよね?

黒枠が1つ増えてそちらは以下の通りです。

array:3 [▼
"_sf2_attributes" => & []
"_sf2_flashes" => & []
"_sf2_meta" => & array:3 [▼
"u" => 1562737880
"c" => 1562737880
"l" => "0"
]
]

_sf2_attributesの内容部分(と言えばいいんですかね?)が無いですね…
« 1 (2)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


ec-cube.co

統計情報

総メンバー数は46,391名です
総投稿数は92,280件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1904
4
468
1791
5
yuh
1594
6
red
1312
7
umebius
1296
8
fukap
907
9
tsuji
840
10
shutta
835
11 ramrun 789
12
tao_s
758
13
h_tanaka
746
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© LOCKON CO.,LTD. All Rights Reserved.