HTMLをPHP化することのメリット・デメリット

HTML
PHPソースコード

HTMLとはWebページを表示するためのマークアップ言語の一つで「Hyper Text Markup Language」の略です。PHPはプログラミング言語の一つでサーバー側で処理が実行されます。PHPはWebで広く利用されている言語で、比較的習得しやすいと言われています。通常HTMLファイル(index.htmlなど拡張子がhtmlのファイル)はPHPを実行することができません。しかし、.htaccessを使用することでHTMLファイル内でPHPを実行が可能です。

HTMLファイル内でPHPを実行する方法

HTMLファイル内でPHPを実行するには.htaccessの設定が必要なのですが、レンタルサーバーの場合サーバーごとに設定内容が異なります。例えば以下は参考例の一部です。以下のいずれかを記述すれば大概のサーバーで問題ありません。

AddHandler fcgid-script .html
AddHandler php5-script .html
AddHandler server-parsed .shtml .html

上記対応でPHPが実行できないサーバーもあります。大手レンタルサーバーだとさくらのレンタルサーバーがそうです。さくらのレンタルサーバーの場合、まず以下の内容を記述したphp.cgiを作成します。

#!/bin/sh
exec /usr/local/bin/php-cgi

そしてサーバーへアップしパーミッションを705に変更します(実行権限を与えます)。その上で.htaccessを以下の設定をします。

Action myphp-script /php.cgi
AddHandler myphp-script .php .html

なお、各レンタルサーバーはHTMLファイルのPHP実行は非推奨なことが多いです。なので自己責任での対応となりますのでご注意ください。

PHPを使用する目的とは?

HTML内でPHPを有効化することで以下のような活用ができます。特にPHPのinclude関数は私は重宝しています。共通部分を外部ファイル化しているか否かで作業効率が全然違います。

  • 共通部分を別ファイル化して読み込むことができる(include)
  • システムやWordpressとの連携が容易となる
  • コメント文をHTMLソース内に記述しないで済む

PHPを使用するデメリットとは?

HTMLファイルでPHPを有効とすると通常のHTMLでは気にしないで良い対応が必要となります。PHPを使用することでセキュリティ対策を講じる必要があることがデメリットと言えます。例えば以下は一例となりますがこれらへの対策が必要となります。

  • SQLインジェクション
  • クロスサイト・スクリプティング(XSS)
  • CRLFインジェクション
  • パストラパーサル
  • パラメータ改ざん
  • OSコマンドインジェクション

上記を懸念してPHPを有効化しないということはセキュリティ対策の一手段ではありますが、PHPは一般的に使用されているので全て静的なHTMLで構築するというのは利便性にかけます。きちんと対策を施して更新性を高める方がメリットが多いと考えます。

西部俊宏
執筆者:
株式会社Webの間代表取締役。上場企業でのSEOの実績やWebサイト構築実績多数。SEO・Web制作の経験からクローラビリティ改善・最適化サービスを提供している。
著者によるサービスについて

売上アップに繋がる本気のユーザーをホームページに呼び込みませんか?

※当ブログはブログ村に参加しております。
にほんブログ村