導航:首頁 > 編程語言 > php獲取請求來源

php獲取請求來源

發布時間:2023-06-08 07:44:45

⑴ 剛學習php,問一下,帝國CMS裡面e/class/connect.php 函數CheckCanPostUrl()

首先global $public_r;首先定義一個全局變數$public_r,這個變數是一個數組,裡面存了一些系統設置,如網站域名等,在這里$public_r['canposturl']是系統設置裡面的「前台允許提交的來源地址」,每一列是一個地址,比如
http://www..com
http://www.google.com
讓我們一行一行分析:
if($public_r['canposturl']){ //如果設置了前台允許提交的來源地址
$r=explode("\r\n",$public_r['canposturl']); //按照換行\r\n切分為一個數組$r,結果應該是
$r = array('http://www..com', 'http://www.google.com');
$count=count($r);//使用數組的count方法統計有多少條地址
$b = 0; //這個變數是當作一個標志,用來判斷
for($i=0;$i<$count;$i++) //
$_SERVER['HTTP_REFERER'] //這個得到的是頁面的來源地址,比如我從http://www.11111.com點擊一個鏈接到http://www.2222.com,那麼http://www.2222.com使用$_SERVER['HTTP_REFERER'] 得到的就是http://www.11111.com
for($i=0;$i<$count;$i++)
if(strstr($_SERVER['HTTP_REFERER'],$r[$i]))

這個將頁面的來源地址循環和「前台允許提交的來源地址」數組$r裡面的每一條對比,如果存在就跳出循環並設置$b=1,如果不存在就繼續循環,循環結束看$b的值,只有在存在的情況下才會得到$b=1,否則$b=0,當$b=0的時候,使用錯誤跳轉函數printerror,'NotCanPostUrl'是一個錯誤常量,在e\data\language\gb\pub\q_message.php中,表示'請從網站提交數據'。

這個函數就是用來判斷前台提交的表單是不是從指定的網站發來的,防止有人修改表單惡意注冊等等之類的。

⑵ php准確判斷ajax請求的來源地址,怎麼處理

比如下面的這段代碼,在usa.php;(http://test2.designsun.net/usa.php)
中如何准確判斷來源是list.html;(http://test1.designsun.net/admin/ProUpLoad/list.htm?/+zd)?
目的是要達到某個域名下的ajax過來我才執行並且返回(因為JSONP是可以跨域的),如果有其他辦法達到此目的也可行。
$.ajax({
type : "post",
url : "http://test2.designsun.net/usa.php?"+url,
dataType : "jsonp",
jsonp: "callback",//傳遞給請求處理程序或頁面的,用以獲得jsonp回調函數名的參數名(默認為:callback)
jsonpCallback:"success_jsonpCallback",//自定義的jsonp回調函數名稱,默認為jQuery自動生成的隨機函數名
success : function(json){
$("body").empty();
//alert(json);
dwrite(json);

},
error:function(){
$("body").html("抱歉載入失敗了....");
}
});
我知道php端可以用$_SERVER['HTTP_REFERER']獲取到,但是這個SERVER變數不是通用的(有時候因為伺服器環境的問題可能會沒有值),不知道有什麼准確的方法?(排除在ajax里傳地址參數過去的做法)

最終要實現
http://test1.designsun.net/admin/ProUpLoad/list.htm?/+zd這個格式訪問內嵌的是http://www.hao123.com

http://test1.designsun.net/admin/ProUpLoad/list.htm?後面加任何代碼
訪問內嵌的是http://www..com
望採納

⑶ php怎麼准確判斷ajax請求的來源完整地址

1、你想要的地址:111.com

2、請求的地址:111.com或者222.com,等等地址

$trueUrl='111.com';
$reqUrl=$_SERVER['PHP_SELF'];
if(strstr($reqUrl,$trueUrl)==$trueUrl){
echo'正確來源地址';
}else{
rerurnfalse;
}

⑷ PHP 獲取來源頁面URL

$_SERVER['HTTP_REFERER']

是可以的。

你做兩個頁面。t1/php ,t2.php
t1.php 的頁面輸出
$_SERVER['HTTP_REFERER'] 和
<a href='t2.php'>t2.php</a>

t2.php 的頁面輸出
$_SERVER['HTTP_REFERER'] 和
<a href='t1.php'>t1.php</a>

你就可以看到效果了。

當然直接輸入地址:$_SERVER['HTTP_REFERER']=「」,通過兩個超鏈接互相訪問就考到
$_SERVER['HTTP_REFERER'] 的值了。

⑸ php如何獲取網址中的參數

比如有一個網址為

http://域名/goods.php?u=59&id=24#pinglun

我想得到這個id值

可以用正則,也可以用php函數解析到數組中

用正則可以這樣

preg_match('/id=(d+)/',$_SERVER["REQUEST_URI"],$m);//$_SERVER 這個表示當前網址url

print_r($m[1]);exit;

或者用parse_url()及parse_str()函數

$cur_q=parse_url($_SERVER["REQUEST_URI"],PHP_URL_QUERY);

parse_str($cur_q,$myArray);

print_r($myArray["id"]);exit;

拓展資料

PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。

PHP的特性包括:

1. PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。

2. PHP可以比CGI或者Perl更快速的執行動態網頁——動態頁面方面,與其他的編程語言相比,

PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;

PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。

3. PHP支持幾乎所有流行的資料庫以及操作系統。

4. 最重要的是PHP可以用C、C++進行程序的擴展!

參考資料:網路 PHP

⑹ 在PHP中怎麼接收來自app的JSON數據

根據你的代碼,你是用的是POST方法。

要在PHP中整體接收POST數據,有兩種方法。

注意,要使用以下兩種方法,Content-Type不能為multipart/form-data。

方法一:

使用:

file_get_contents('php://input')

其中,php://input是一個流,可以讀取沒有處理過的POST數據(即原始數據)。相較於$HTTP_RAW_POST_DATA而言,它給內存帶來的壓力較小,並且不需要特殊的php.ini設置。

方法二:

使用此方法,需要設置php.ini中的always_populate_raw_post_data值為On。

使用$HTTP_RAW_POST_DATA,包含了POST的原始數據。但這不是一個超全局變數,要在函數中使用它,必須聲明為global,或使用$GLOBALS['HTTP_RAW_POST_DATA']代替。

⑺ PHP 獲取域名的幾種方法

獲取當前的域名:
echo $_SERVER['SERVER_NAME'];
//獲取來源網址,即點擊來到本頁的上頁網址
echo $_SERVER["HTTP_REFERER"];
$_SERVER['REQUEST_URI'];//獲取當前域名的後綴
$_SERVER['HTTP_HOST'];//獲取當前域名
dirname(__FILE__);//獲取當前文件的物理路徑
dirname(__FILE__)."/../";//獲取當前文件的上一級物理路徑
?>

閱讀全文

與php獲取請求來源相關的資料

熱點內容
asp程序員收入 瀏覽:332
無線有密碼顯示未加密 瀏覽:210
檢查伺服器地址命令 瀏覽:597
編譯過程和解釋過程的圖表形式 瀏覽:835
文明重啟如何弄自己的伺服器免費 瀏覽:912
伺服器許可權不足如何解決 瀏覽:373
少兒編程樂高主要是學什麼 瀏覽:674
張家口人社app如何實名認證 瀏覽:296
淘寶圖片怎麼設置加密 瀏覽:314
pdf拼接器 瀏覽:786
只有程序員能看得懂 瀏覽:183
java打成jar包 瀏覽:214
朗動大屏怎麼連安卓 瀏覽:331
如何把微信掛在伺服器上 瀏覽:822
linux比對兩個文件夾文件差異 瀏覽:457
火牛app怎麼刷火鑽 瀏覽:560
高中vb編程 瀏覽:818
國家反詐中心app如何設置來電預警 瀏覽:427
vB6如何做opc伺服器介面 瀏覽:252
數學分析考研真題pdf 瀏覽:371