- ベストアンサー
magic_quotes_gpcが有効になっている時に
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
magic_quotes_gpcは、PHP_INI_PERDIRなので 実行中に書き換えることはできません。↓ http://www.php.net/manual/ja/ini.php#ini.list 参考になるか分かりませんが 似たようなことを考えられているページもありました。↓ http://seitoman.jugem.jp/?eid=155
関連するQ&A
- .htaccessでmagic_quotes_gpcの値を変更できない
.htaccessファイルに下記の内容を記述して、magic_quotes_gpcの値を変更したいのですが、変更内容が反映されません。 php_flag magic_quotes_gpc off (php.iniで指定すると変更内容が反映されることは確認済みです) magic_quotes_gpcの属性は、「PHP_INI_PERDIR」なので.htaccessファイルから変更できると思うのですが・・・。 環境は以下のとおりです。 OS:WindowsXP サーバー:XAMPP 1.6.4(PHP5、apache2.2) 原因について何かご存知の方がいらっしゃいましたら教えてください。 よろしくお願いいたします。
- ベストアンサー
- その他([技術者向] コンピューター)
- magic quotes gpcに関する.htaccessの設定について
こんばんは。最近、phpでスクリプトを作成しているのですが どうしても、magic_quotes_gpcをoffにしなければならない状況になってしまい、変更しようと四苦八苦しています。レンタルサーバーのため、php.iniではなく、.htaccessでしか変更が出来ないことはわかり、 <IfModule mod_php4.c> #インクルードパスの設定 php_value include_path ".:/usr/local/lib/php:/html/_incs_" #不用意なエラーレポート出力をさせないようにする #必要に応じて「ini_set("display_errors", 1)」を使うのがベター php_flag display_errors Off php_flag magic_quotes_gpc Off #「mbstring」関係の設定 php_value mbstring.language "Japanese" php_value mbstring.internal_encoding "EUC-JP" php_flag mbstring.encoding_translation Off </IfModule> のように、書き込み、サーバーにアップロードしたのですが、phpinfo()で確認したところ、magic_quotes_gpc欄がonになったままであり、.htaccessが機能しておりません。 私の書き方に問題があるのでしょうか?何か問題点等があれば指摘をお願いします。また、私の考えが根本的に間違っていた場合、簡単な知識から教えてくれると助かります。 余談かもしれませんが、.htaccessはサーバーで、利用可能となっています。
- 締切済み
- PHP
- magic_quotes_gpcの設定がおかしいのでしょうか
magic_quotes_gpcをoffにしたいと思いますが.htaccessで設定するとInternal Serviceエラーになってしまいます。 おそらく.htaccessの設定コマンドの記述が間違っているのだろうと見当はつくのですが、自分で考えても修正部分が見つけられません(汗) 原因を教えていただけないでしょうか。 <.htaccessの記述内容> php_flag magic_quotes_gpc off <PHPバージョン> PHP Version 4.3.2
- 締切済み
- PHP
- symfonyのCriteriaで実行すると、入力値にバックスラッシュが入る
表題の件で質問させてください。 現在、symfony version 1.0.8 にて開発を行っています。 MySQLに接続して、検索SQLを実行しているのですが、どうもカタカナが混じっていると検索にヒットしません。 そこでSQLを print_r(TableNamePeer::doSelectRS($criteria)); で表示させてみたところ、magic_quotes_gpcがOn の時のように、バックスラッシュが含まれていました。 ・htaccess で、magic_quotes_gpcはOffにセットしています。 ・$pear_data_dir/symfony/config/php.yml のmagic_quotes_gpcも offになっています。 バックスラッシュは下記のような感じで付け加えられてしまっています。 ソフト→\ソフ\ト どこをいじれば治るのか、調べ切れなかったのでご存知の方がいらっしゃったら、ご教授下さい。 宜しくお願い致します。
- 締切済み
- PHP
- PHP+MySQLでエスケープされたデータを格納したい。
php.iniの設定でmagic_quotes_gpc = Offにして、 mysql_real_escape_stringで出力エスケープしたデータを MySQLに格納するとバックスラッシュが格納されない。 エスケープされたデータを格納したいです。 php.iniの設定 --------------------------------------------------------- ; Magic quotes for incoming GET/POST/Cookie data. ; magic_quotes_gpc = On magic_quotes_gpc = Off ; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. magic_quotes_runtime = Off ; Use Sybase-style magic quotes (escape ' with '' instead of '). magic_quotes_sybase = Off --------------------------------------------------------- $_POST['us_fname']には「'user'」という文字列が格納されています。 --------------------------------------------------------- $clean['us_fname'] = $_POST['us_fname']; $mysql['us_fname'] = mysql_real_escape_string($clean['us_fname']); $sql = "insert into table ( us_fname ) values ( '".$mysql['us_fname']."', ) "; --------------------------------------------------------- echo $mysql['us_fname']; で確認すると「\"user\" 」となっているんですが、 MySQLの中を確認すると「'user'」のままでシングルクォートがエスケープされていません。
- ベストアンサー
- PHP
- エスケープ解除
以下のようなPHP構文の時に、 magic_quotes_gpcがOnであっっとしたら、 どのようにエスケープを解除すればいいのでしょうか? // フォームの値を取得します。 if ($_SERVER["REQUEST_METHOD"] == "POST") { foreach($_POST as $k = $v){ // 「magic_quotes_gpc = On」のときはエスケープ解除 if (get_magic_quotes_gpc()) { $v = stripslashes($v); } $v = htmlspecialchars($v); $$k = $v; } } else { exit(); }
- 締切済み
- PHP
- カタカナ小文字「ァ」の、検索時の文字化けで困っています。
はじめまして。 現在、検索結果が表示されるページを制作しているのですが、その際、 カタカナ小文字の「ァ」が入っているキーワードで検索したときに、 検索キーワードの表示のところで、下記のように文字化けが起こってしまって、困っています。 (「ヴァージニティ」→「ヴ 璽献縫謄 」) Google検索しても、解決法を見つけることができませんでした。 magic_quotes_gpcの設定は、開発環境ではOff、本番環境ではOn(レンタルサーバのデフォルトの設定)にしているのですが、 if (isset($_GET['keyword'])) { $keyword = (get_magic_quotes_gpc()) ? $_GET['keyword'] : mysql_escape_string($_GET['keyword']); $keyword = mb_convert_kana($keyword, "aKV"); } のように、magic_quotes_gpcの設定が「ON」であるときと「OFF」であるときの両方の設定を記述しています。 PHP、データベース共に文字コードはEUCで統一しています。 レンタルサーバなので.htaccessを使用して、下記のように設定しています。 php_flag output_buffering off php_value default_charset EUC-JP php_value mbstring.language Japanes php_flag mbstring.encoding_translation on php_value mbstring.http_input EUC-JP php_value mbstring.http_output EUC-JP php_value mbstring.internal_encoding EUC-JP php_value mbstring.substitute_character none php_value mbstring.detect_order EUC-JP,SJIS,JIS,UTF-8,ASCII 文字化けが生じる、表示部分のphpの記述ですが、 if($keyword != ""){ $keyword = mb_convert_encoding($keyword, "EUC-JP"); echo htmlspecialchars(stripslashes($keyword)); } のように記述しています。 ちなみに、「ッ」のような他のカタカナ小文字が入っているキーワードでは、正常に検索結果が表示されます。 どうぞよろしくお願いいたします。
- ベストアンサー
- PHP
- PHPの文字化け回避方法
PHPとDB(MySQL)を使用したアプリケーションを作成しています。 しかし特定の文字(表や能など)をDBに入力し再度PHPで表示すると文字化けします。 調べて対策を行いましたが改善されません。 (対策) DBに格納する前にデータをすべてmb_convert_encoding($goo, "EUC-JP", "SJIS");でエンコード 読み込む際にはmb_convert_encoding($goo, "SJIS", "EUC-JP")と戻す。 又、magic_quotes_gpcもoffに。 しかしながら一向に改善されません。どうぞよろしくお願いいたします。
- ベストアンサー
- PHP
- PHPの文字列のエスケープについて
php.iniの設定で「magic_quotes_gpc = On」なっており、htmlentities($str, ENT_QUOTES)で、ダブルおよびシングルクオートを共に変換します。 しかし、シングルクオートがエスケープされて、「'」になるのですが、これを「'」に変換しなければなりません。 (そんな依頼を受けて、プログラミングをしていますが、全くうまくいきませんorz。) 単純に考えて、シングルクオートをエスケープしなければよいと思うのですが、 フォームのデータを受けとるときに、シングルクオートをエスケープしなければならないとマズイことでもあるのでしょうか? 変な質問ですが、宜しくお願いします。
- ベストアンサー
- PHP
お礼
ありがとうございます。 参考にします。