PHP禁止外站提交、禁止直接访问

纯属记录!

<?php
// 检查是否直接访问本页面
if( isset($_SERVER['HTTP_REFERER']) ) {
    $url_array = explode('http://', $_SERVER['HTTP_REFERER']);
    $url = explode('/', $url_array[1]);
    if($_SERVER['SERVER_NAME'] != $url[0]) {
        // 您不是从本站来的;
        exit('Access Denied! You are not coming from the site!');
    }
} else {// 禁止直接访问此页;
    exit('Access Denied! Please do not load this page directly.');
}
?>

此方法禁止站外提交,只能防止手动在浏览栏上输入的URL,事实上只要在服务器上构造出一个指向该URL的链接(比如在发贴时加入超链),再点击,这个Check就完全不起作用了。