2012-04-26 67 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 
?> 
後您

可以開始編碼........!