押入れ起業

ガレージベンチャー、ならぬ。もっぱらPHPプログラミングとアフィリエイトの研究をしています。

PHP

PHPでリファラ(参照元)をチェックするのはこれでいいの?

投稿日:2015-03-21 更新日:

あるサイトでのページでフォーム入力し、そのサイト内の別ページへポストして結果を表示したい。ただし別サイトからのポストはなるべく防ぎたい。

リファラをチェックして、何もなければ見逃してやる。リファラがある場合、それが他サイトだったらアウト。

これでいいんだろうか。

if( isset( $_SERVER['HTTP_REFERER'] ) ){
	//もしリファラがある場合
	$parse_referer = parse_url( $_SERVER['HTTP_REFERER'] );
	if ( strcmp ($parse_referer['host'], $_SERVER['HTTP_HOST'] ) !==0 ){
	//リファラとHTTP_HOSTを比較して異なった場合はアウト
	die("アウト!");
	}
}

die()を以下に書き換え。example.com/post.php に記述し、別サイトから直接来たアクセスを example.com のトップへ転送することを想定。

	header('Location: http://'. $_SERVER['HTTP_HOST'] );
	exit;

PC

PC

-PHP

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

PHP

PHPでxmlデータを取得する

simplexml_load_file($url); – XMLファイルをパースし、オブジェクトに代入する get_object_vars – 指定したオブジェクトのプロパティ …

piwik

Piwikの手動アップデート

少し前からPiwikのアップデートが来ていたのだけれど、いつもどおり自動アップデートをしようとするとエラーが出たので更にアップデートが来るかもと思い放置していた。 curl_exec: Unknown …

PHP

PDOでSQLiteの研究(1)

最近は電脳卸の研究が止まっているが、いろいろ忙しく。でもやりたい事はいろいろあるので、調べるだけは調べるのだ。 SQLite入門 【PHP】PDO関数でSQLiteを使ってみた(1) 【PHP】PDO …

PHP

‘http://’. $_SERVER[‘HTTP_HOST’]; も header(‘Location: ./’);相対指定もやってはいけない事だった

$_SERVER[‘HTTP_HOST’]でリンク先を作るのも、header(‘Location:~’);のアドレス相対指定転送も、やってはいけないこと …

さくらのレンタルサーバー

phpinfo()のdate項目、phpスクリプト中のdate()関数にwarning警告が出た(さくらのレンタルサーバー)

さくらのレンタルサーバで、phpinfo()表示やdate()関数を使っていたら警告が表示されていて不安になった。 Warning: phpinfo(): It is not safe to rely …

open all | close all
open all | close all