「SiteGuard」を導入にすると一部の環境変数がとれない
はじめに
「SiteGuard」を導入にすると一部の環境変数がとれなくなります。意外と気付かず条件設定などにおいてハマってしまうことがあります。

概要
さくらのレンタルサーバを使用しているサイトにおいて gzip 圧縮データを返すような PHP を作って動作確認していたのですが、いかなる環境で接続しても圧縮されたデータが返されませんでした。「$_SERVER['HTTP_ACCEPT_ENCODING'];」の値が常に空だったのです。
他のサーバーにあげたら利用できたのでさくらのレンタルサーバの環境が原因なのかと思っていました。他のサイトにあった記事ではさくらのレンタルサーバ固有の問題であるという書き方がなされていました。しかし、さくらのレンタルサーバで作っているテスト用ドメインでは動作したのです。
…あれ?
「phpinfo();」を眺めていて気が付きました。両方のサーバーで環境変数に違いがあったのです。
環境変数の違い
「SiteGuard」を有効にしているサイトでは次の環境変数が追加されていました。
HTTP_VIA = 1.0 ss212.guard.sakura.ne.jp:80 (JP-Secure/siteguard_http_01/520/ss212.guard.sakura.ne.jp)
一方で次の環境変数が削除されていました(´;ω;`)
「HTTP_CONNECTION」、「HTTP_ACCEPT_ENCODING」
まとめ
「SiteGuard」によって一部の環境変数が削除されていることがわかりました。