PHP

PHP

【PHP5.3】マジッククオートの設定は、オフにしておきましょう!

マジッククオートについて

最近はPHP7が主流になってきていますが、
PHP5.3もまだまだ多くのサーバで動いています。

PHP5.3バージョンを使っているサーバでフォームなどを組んでいると発生するのが、
マジッククオートの問題です。

マジッククオートが有効になっている場合、
シングルコーテーション(')ダブルコーテーション(")などが自動でエスケープされてしまいます。

エスケープとは、
シングルコーテーションやダブルコーテーションの様なそのままではブラウザの画面に表示できないような特殊な文字に、
バックスラッシュ(¥)を付与することで、
表示できるようにすることです。

自動でエスケープしてくれるのであれば、
開発者の手間が省けて助かるはずなのですが、
困ったことに、
意図しない場面でもバックスラッシュ(¥)が勝手に付与されて困ってしまうことがあります。

なので、マジッククオートは、出来ればオフにしておいて、
エスケープ処理は必要に応じて自分で設定するのがおすすめです。

と言っても、
既に稼働済みのサーバのphp.iniを変更は恐いですし、
そもそも共用サーバだと勝手に設定を変更することが出来ない場合も多いです。

なので、
マジッククオートは無効にしておいて、
エスケープ処理はプログラムサイドで対応しましょう。

もしくは、.htaccessを使って対応することも可能です。

ということで、
今回は、
マジッククオートがオンになっていないかの確認方法
と、
マジッククオートがオンになっている場合の対応方法
についてまとめておきます。

マジッククオートの確認方法

マジッククオートの設定が、
現在オンになっているのか?
それとも、
オフになっているのか?
は、
get_magic_quotes_gpc()関数で確かめることができます。

PHPのスクリプトに、
echo get_magic_quotes_gpc()
と記述して、
ブラウザ上からアクセスしてみて下さい。

「1」が返って来れば、オンになっています。

または、
お馴染みのphpinfo()でも確認できます。

magic_quotes_gpc」の項目を探してみて下さい。
「on」になっていれば、マジッククオートが有効になっています。

マジッククオートの無効化

stripslashes()関数で、バックスララッシュを取り除く

マジッククオートがオンになってる場合、
以下の様なコードで無効化が可能です。

.htaccessを使ってマジッククオートをオフにする

マジッククオートの設定は、.htaccessを使ってオフにすることも可能です。

方法は、以下の記述を.htaccessに追記するだけです。
php_flag magic_quotes_gpc On

最後に

マジッククオートの設定は、PHP5.3.0で非推奨になり、
PHP7.0.0で削除されましたが、
まだまだ多くのサーバでPHP5.3.0が現役で活躍しています。

マジッククオートがオンになっていると、
シングルコーテーションやダブルコーテーションが勝手にエスケープ(バックスラッシュ付与)されてしまうので、
対応には注意しましょう。

プログラム側で対応するか、
.htaccessを使って機能をオフに出来るので、
こちらの記事を参考にして頂ければと思います。

弊社では、以下の方に向けて、WordPressの短期学習プログラムを
格安(15,000円~)で提供しております。

  • 個人でWordPressを使ったサイト(個人ブログやアフィリエイトサイトなど)構築をお考えの方
  • WordPressを使って副業で稼ぎたい方
  • フリーランスでWordPressを使ったお仕事をお考えの方
  • 自社でホームページの構築・運用をお考えの方
  • 企業のWEB担当者の方

内容

基本的には、初心者の方を対象にした学習プログラムです。

※ WordPress制作の上級者の方の場合、弊社の学習プログラムはあまり役に立たないと考えています。

  • ・ WordPressのインストールからセッティングの方法
  • ・ WordPressのテーマ選びについて
  • ・ WordPressのプラグイン選びと設定方法について
  • ・ サーバの準備方法
  • ・ ドメインの取得・管理の方法
  • ・ FTPの設定方法
  • など

ご用意頂くもの

  • ・ ノートPC
    ※ 弊社はWindowsを業務で利用しておりますので、できればWindowsのPCをおすすめしています。
  • WordPressでサイトの制作を考えているが、何から始めればいいのか分からない。
  • ドメインやサーバはどうやって準備すればいいの?
  • そもそもホームページの公開には何が必要なの?

などなど、

どのような内容でも構いませんので、お気軽にお問い合わせ下さい。

お客様の目的をお聞きした上で、最適の学習プランを提案致します。

ご興味のある方は、以下の内容を記載の上、一度お問い合わせ下さい。
こちらより、折り返しメールを致します。

  • ① お名前
  • ② 折り返し先のメールアドレス
  • ③ 希望の学習内容

関連記事

  1. PHP

    PHP

    お問合せフォームのスパム対策

    お問合せフォームからスパムメールが大量に届くという報告が入りました。…

  2. PHP

    PHP

    WordPressの記事を特定の文字数で丸める

    ブログのトップページやカテゴリー、アーカイブページなどで、記事の一…

  3. PHP

    PHP

    新着情報の不具合

    お客さんから、ホームページに表示させている新着情報が表示されなくな…

  4. PHP

    PHP

    【PHP】count関数でエラーが出ました。。。

    かなり昔に弊社が作成したシステムがあるのですが、諸々の理由で別サー…

  5. PHP

    PHP

    in_array()関数では第3引数(true)を設定する

    ある配列の中に特定の値が貼っているかをチェックする場合、in_ar…

  6. PHP

    PHP

    Fatal error: Call to undefined function hash_hmac(…

    パスワードからハッシュ値を生成してDBに登録しようと、※「$p…

最近の記事

  1. コピペ(Copy and Paste)
  2. Check Copy Contents(CCC)
  3. WordPress(WP)
  4. セキュリティ
  5. セキュリティ
  6. THE THOR(ザ・トール)
  7. SONY α6400の本体
  8. THE THOR(ザ・トール)
  9. 短縮URL
  10. FFFTP(ファイル転送)
PAGE TOP