2008/09/05

[coldfusion]リファラーチェック

リンク元を参照したい場合、cgi構造体から取得することができます。

cgi.HTTP_REFERER

上の変数で注意したいのは、直接アドレスを指定して、表示した場合、cgi.HTTP_REFERER = ""となってしまうところ。

なので、cfif IsDefined("cgi.HTTP_REFERER") eq falseで先の処理を書いたとした場合、直接アドレス指定の場合、変数自体は宣言されているので、IsDefined()がtrueを返し処理が実行されません。

<!--- 直接アドレス指定の時だけ、処理したい(実際は、処理されることはない) --->
< cfif IsDefined("cgi.HTTP_REFERER") eq false >

< cfelse >

< /cfif >

この場合、cfif IsDefined("cgi.HTTP_REFERER") eq "" とすることによって、直接アドレスを指定された場合の、処理を書くことができます。
<!--- 直接アドレス指定の時だけ、処理したい(実際に、処理される) --->
< cfif IsDefined("cgi.HTTP_REFERER") eq "" >

< cfelse >

< /cfif >

0 コメント:

コメントを投稿