人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPでアクセス元によって読み込むファイルを切り替えたいと思っています。

//同一ファイルからのアクセス
if(){
include("a.php");
//別サイトからのアクセス
}else if(){
include("b.php");
}

IFにはどのようなソースを書けばよいのでしょうか?
参考サイトもご存じでしたら、教えて下さい。
(セッションやCOOKIEを使う方法以外でお願いします)


●質問者: k27w
●カテゴリ:ウェブ制作
✍キーワード:cookie PHP アクセス サイト セッション
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● kn1967
●101ポイント

セッションもクッキーも使わずとなれば、信頼性には欠けますがリファラで・・・。

// 自分自身のアドレスを前もって準備
$f = ($_SERVER["SERVER_PORT"] == 443 ? "https://" : "http://") . $_SERVER["HTTP_NAME"] . $_SERVER["PHP_SELF"] ;

if(isset($_SERVER["HTTP_REFERER"]){ // リファラがある場合
  if($_SERVER["HTTP_REFERER"] == $f){ // 同一の場合
 include("a.php");
 }else{ // 異なる場合
 include("b.php");
 }
}else{ // リファラが無い場合
 include("c.php");
}

(いきなり書いてますので動作確認してません。適宜修正してくださいませ)

◎質問者からの返答

上手くできました!まさに求めていたとおりです。ありがとうございました。


2 ● lets_skeptic
●5ポイント

if ($_SERVER["HTTP_REFERER"] == (サイト)) {


となると思いますが、Refererは送られてこない場合もあるので、「同一ファイルからのアクセス」の場合はGET又はPOSTパラメータでなんらかのキーを送るのが良いのではないでしょうか?

そのキーが無ければ「別サイトからのアクセス」だと判断するということで。


ただ、普通はSESSIONやCOOKIEを使います。

◎質問者からの返答

もう少し具体的に回答いただければ良かったのですが・・・


3 ● kou32rr
●10ポイント

$_SERVER["HTTP_REFERER"]でアクセス元を取得できるようです。

//同一ファイルからのアクセス

if($_SERVER["HTTP_REFERER"] = $_SERVER["SERVER_NAME"]){

include("a.php");

//別サイトからのアクセス

}else{

include("b.php");

}

参考:

http://nyx.pu1.net/practice/server_var/server_var2.php

◎質問者からの返答

この方法は上手く行きませんね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ