質問 > 管理機能 > 商品登録画面でダブルクォーテーションがエスケープされてしまいます |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
suckamon |
投稿日時: 2017/3/6 9:58
対応状況: −−−
|
半人前 登録日: 2017/1/31 居住地: 投稿: 27 |
Re: 商品登録画面でダブルクォーテーションがエスケープされてしまいます 本件自己解決いたしました。
スレッドに記載もれがあったのですが、WordPressとの連携のためにindex.phpおよびindex_dev.phpに require_once __DIR__.'/blog/wp-load.php'; を追記していたのが原因でした。 WordPress側でエスケープされていたようです。 お手を煩わせ申し訳ございませんでした。 追記: 対策について index.php, index_dev.phpに下記コードを追記し、wp-load.phpでエスケープされたものを元に戻すようにしました。 function strip_magic_quotes_slashes($arr){ if(is_array($arr)){ return array_map('strip_magic_quotes_slashes', $arr); } else { return stripslashes($arr); } } $_GET = strip_magic_quotes_slashes($_GET); $_POST = strip_magic_quotes_slashes($_POST); |
suckamon |
投稿日時: 2017/3/6 9:16
対応状況: −−−
|
半人前 登録日: 2017/1/31 居住地: 投稿: 27 |
Re: 商品登録画面でダブルクォーテーションがエスケープされてしまいます src/Eccube/Controller/Admin/ProductController.php
上記ファイルの商品登録処理部分にデバッグ用の下記コードを追記し調べたところ、どうよらDB登録前にコントローラ側でエスケープされているようです。 ※商品説明欄に「"test"」と入力 $Product = $form->getData(); echo $Product->getDescriptionDetail(); return false; 出力結果 >>> \"test\" こちらも何か解決策がお分かりでしたらご教授いただけますでしょうか。 よろしくお願いいたします。 |
suckamon |
投稿日時: 2017/3/6 9:07
対応状況: −−−
|
半人前 登録日: 2017/1/31 居住地: 投稿: 27 |
Re: 商品登録画面でダブルクォーテーションがエスケープされてしまいます 皆さん、ご親切にありがとうございます。
PHPのバージョンは5.6です。 現在以下のディレクトリにEC-CUBEインストールの上構築しているのですが、同サーバーの別ディレクトリにテスト環境として新規でEC-CUBEをインストールし直したところ、特にエスケープされることなく商品登録ができております。 [本番環境] / [テスト環境] /test/ ※DBは同サーバー、別DBを使用しております 本番環境で行ったことといえば、dtb_productテーブルにphppgadminよりカラムを追加した程度のことなのですが、これは関係無いように思えます。 もう少し自力で調べてみようと思います。 ありがとうございました。 |
468 |
投稿日時: 2017/3/4 17:18
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品登録画面でダブルクォーテーションがエスケープされてしまいます 現象からmagic_quotes_gpcの事かと思いましたので、一度、ご確認いただけたらと思い、投稿させていただきました。
aoki.uさんのおっしゃられる通り、 まずは、PHPのバージョンをご確認いただいたほうが良いと思います。
|
aoki.u |
投稿日時: 2017/3/4 11:45
対応状況: −−−
|
常連 登録日: 2017/2/19 居住地: 投稿: 53 |
Re: 商品登録画面でダブルクォーテーションがエスケープされてしまいます 468さん
redさん マジッククオートはPHP5.4で削除されたはずですが、PHP5.6でも起こるのですか? また、それならサーバーに問い合わせて気づかないわけはないと思うのですが・・・。 suckamonさん もう一度PHPのバージョン確認された方が良いかもしれませんね。 管理画面の設定→システム情報設定→システム設定から確認可能です。 あるいはサーバーのコントロールパネル https://zenlogic.jp/support/manual/web/php.html?_ga=1.255350152.1473703533.1488595586
|
red |
投稿日時: 2017/3/4 9:02
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1574 |
Re: 商品登録画面でダブルクォーテーションがエスケープされてしまいます これですね
https://github.com/EC-CUBE/ec-cube/issues/1229
|
468 |
投稿日時: 2017/3/4 8:59
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品登録画面でダブルクォーテーションがエスケープされてしまいます php.iniのmagic_quotes_gpcがONになっているのでは無いでしょうか?
以下のサイトに詳細があります。 http://staku.designbits.jp/magic-quotes-gpc-on/
|
suckamon |
投稿日時: 2017/3/3 15:17
対応状況: −−−
|
半人前 登録日: 2017/1/31 居住地: 投稿: 27 |
Re: 商品登録画面でダブルクォーテーションがエスケープされてしまいます ご返信ありがとうございます。
コアファイルは特に編集しておりません。 サーバーは、ファーストサーバZenlogicを利用しております。 |
aoki.u |
投稿日時: 2017/3/3 15:15
対応状況: −−−
|
常連 登録日: 2017/2/19 居住地: 投稿: 53 |
Re: 商品登録画面でダブルクォーテーションがエスケープされてしまいます 本体カスタマイズ一切無しでしょうか?
ちなみにサーバーさんはどちらになりますか? |
suckamon |
投稿日時: 2017/3/3 15:05
対応状況: −−−
|
半人前 登録日: 2017/1/31 居住地: 投稿: 27 |
商品登録画面でダブルクォーテーションがエスケープされてしまいます 下記環境にてECサイト構築中なのですが、商品登録画面の「商品説明」欄にHTMLタグを入力し、登録したところ、クラス名を囲うダブルクォーテーションが自動的にエスケープ(¥がつく)されてしまい、思うようにページを編集することができません。
<環境> PHP:5.6 DB:PostgreSQL 8.4 EC-CUBE:3.0.13 サーバーホスティング業者にも問い合わせたのですが、原因不明とのことで、プラグインなども全て停止して試したのですがやはり解決に至りませんでした。 どなたかお分かりになる方いらっしゃいましたら、ご教授いただけますでしょうか。 よろしくお願いいたします。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |