2012-04-26 63 views
-1

我有一些PHP代码,它可以工作来阻止传入的url,并且我有数百个php页面,在这个页面中我必须使传入的url成为可用,并且我想让代码像一个过程或函数那样可以在所有的PHP页面中调用。所以,我可以很容易地运用我的代码影响到所有页面apparantly.Here是我的PHP代码php全局函数或过程

<?php 
ob_start(); 
$domain = array("http://a.sml.com.pk/default.aspx","http://a.sml.com.pk/"); 
if(!in_array($_SERVER['HTTP_REFERER'],$domain)) 
{ 
$URL1="http://a.sml.com.pk"; 
header ("Location: $URL1"); 

} 
else{ 

set_time_limit(500); 
$url = 'http://appsrv01.shakarganj.com.pk:7778/reports/rwservlet?reptestsfpl&report=sales_milk'; 
$pdf = 'milksales.pdf'; 
$pdfbak = 'bak/'.$pdf; 

if (filesize($pdf) > 10000) 
{ 
copy($pdf,$pdfbak); 
} 

if ((int)time() > filemtime($pdf) + 30) 
{ 
file_put_contents($pdf, file_get_contents($url)); 
} 
header('Pragma: public'); 
header('Expires: 0'); 
header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
header('Content-Type: application/pdf'); 

if (filesize($pdf) > 10000) 
{ 
readfile($pdf); 
} 
else 
{ 
readfile($pdfbak); 
} 
} 
?> 

现在,我想使程序的代码应该在我的所有文件

ob_start(); 
    $domain = array("http://a.sml.com.pk/default.aspx","http://a.sml.com.pk/"); 
    if(!in_array($_SERVER['HTTP_REFERER'],$domain)) 
    { 
    $URL1="http://a.sml.com.pk"; 
    header ("Location: $URL1"); 

    } 
    else{ 

应用请任何一个可以帮助我对我的代码转换其他部分之前进入程序,该程序将如何被调用的所有文件regrding其他部分

回答

0
function test_referer() 
{ 
    static $domain = array("http://a.sml.com.pk/default.aspx","http://a.sml.com.pk/"); 
    if (!in_array($_SERVER['HTTP_REFERER'], $domain)) { 
     header ("Location: http://a.sml.com.pk"); 
     exit; 
    } 
} 

在代码中,你会叫这样的:

test_referer(); 
// domain verified, continue your code 
+0

好吧,先生但我有数百个php文件,在这个文件中,我必须删除域名,因此我可能必须在所有文件中编写此函数或如何在文件中调用此函数 – 2012-04-26 10:29:53

+0

我会得到:'页面不是正确重定向。 Firefox已经检测到服务器正在以一种永远不会完成的方式重定向该地址的请求.'因为我的引用文件始终为空 – 2012-04-26 10:30:50

+1

@ user1353261您可以将'test_referer'中的代码放入单独的.php文件中,然后使用。 htaccess始终将其预先添加到所有脚本中;另见http://www.codingforums.com/archive/index.php/t-78287.html – 2012-04-26 10:43:19

2

,你可以写下面的代码在一个php文件一样domainCheker.php

<?php 
    $domain = array("http://a.sml.com.pk/default.aspx","http://a.sml.com.pk/"); 
    if (!in_array($_SERVER['HTTP_REFERER'], $domain)) 
    { 
     header ("Location: http://a.sml.com.pk"); 
     exit; 
    } 
?> 

现在,包括这个PHP文件在你开始的所有页面,例如

<?php 
    include 'PATH_CHECK_DOMAIN';// give the above file path 
?> 
后您

可以开始编码........!