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. WordPress(ワードプレス)

    PHP

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

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

  2. PHP(ピー・エイチ・ピー)

    PHP

    imagejpeg(): Filename cannot be empty in...

    以前組んだシステムを別のサーバーに設置することに!!…

  3. PHP

    nl2br()を使って改行

    PHPで改行を含む文字列を出力する際には、nl2br()を使って改…

  4. PHP

    split()関数とexplode()関数

    サーバーのバージョンを5.3へアップした途端、PHP Deprec…

  5. PHP(ピー・エイチ・ピー)

    PHP

    ConoHaのVPSサーバへPHP7をインストール

    こちらの記事では、ConoHa VPSサーバへのPHP7のインスト…

  6. PHP(ピー・エイチ・ピー)

    PHP

    exec()関数でwhois情報を取得

    最近やたらとwhois情報を検索する機会が増えたので、PHPでwh…

最近の記事

  1. MySQL(マイエスキューエル)
  2. WordPress(WP)
  3. SEO(エスイーオー)
  4. ホームページを活用
  5. SEO(エスイーオー)
  6. SNS(ソーシャルメディア)
  7. ホームページ制作ツール
  8. WordPress(ワードプレス)
  9. SNS(ソーシャルメディア)
  10. Database(DB:データベース)
PAGE TOP