導航:首頁 > IDC知識 > php伺服器驗證

php伺服器驗證

發布時間:2020-10-30 05:17:19

1、php 如何獲取伺服器的信息

伺服器變數 $_SERVER 詳解:

1、$_SESSION['PHP_SELF'] — 獲取當前正在執行腳本的文件名

2、$_SERVER['SERVER_PROTOCOL'] — 請求頁面時通信協議的名稱和版本。例如,「HTTP/1.0」。

3、$_SERVER['REQUEST_TIME'] — 請求開始時的時間戳。從 PHP 5.1.0 起有效。和time函數效果一樣。

4、$_SERVER['argv'] — 傳遞給該腳本的參數。我試了下,get方法可以得到$_SERVER['argv'][0];post方法無法給他賦值。

5、$_SERVER['SERVER_NAME'] — 返回當前主機名。

6、$_SERVER['SERVER_SOFTWARE'] — 伺服器標識的字串,在響應請求時的頭信息中給出。 如Microsoft-IIS/6.0

7、$_SERVER['REQUEST_METHOD'] — 訪問頁面時的請求方法。例如:「GET」、「HEAD」,「POST」,「PUT」。

8、$_SERVER['QUERY_STRING'] — 查詢(query)的字元串(URL 中第一個問號 ? 之後的內容)。

9、$_SERVER['DOCUMENT_ROOT'] — 當前運行腳本所在的文檔根目錄。在伺服器配置文件中定義。 如E:\server

10、$_SERVER['HTTP_ACCEPT'] — 當前請求的 Accept: 頭信息的內容。

11、$_SERVER['HTTP_ACCEPT_CHARSET'] — 當前請求的 Accept-Charset: 頭信息的內容。例如:「iso-8859-1,*,utf-8」。

12、$_SERVER['HTTP_ACCEPT_ENCODING'] — 當前請求的 Accept-Encoding: 頭信息的內容。例如:「gzip」。

13、$_SERVER['HTTP_ACCEPT_LANGUAGE'] — 當前請求的 Accept-Language: 頭信息的內容。例如:「en」。

14、$_SERVER['HTTP_CONNECTION'] — 當前請求的 Connection: 頭信息的內容。例如:「Keep-Alive」。

15、$_SERVER['HTTP_HOST'] — 當前請求的 Host: 頭信息的內容。

16、$_SERVER['HTTP_REFERER'] — 鏈接到當前頁面的前一頁面的 URL 地址。

17、$_SERVER['HTTP_USER_AGENT'] — 返回用戶使用的瀏覽器信息。也可以使用 get_browser() 得到此信息。

18、$_SERVER['HTTPS'] — 如果通過https訪問,則被設為一個非空的值,否則返回off.

19、$_SERVER['REMOTE_ADDR'] — 正在瀏覽當前頁面用戶的 IP 地址。

20、$_SERVER['REMOTE_HOST'] — 正在瀏覽當前頁面用戶的主機名。反向域名解析基於該用戶的 REMOTE_ADDR。如本地測試返回127.0.0.1

21、$_SERVER['REMOTE_PORT'] — 用戶連接到伺服器時所使用的埠。我在本機測試沒通過,不知道什麼原因。

22、$_SERVER['SCRIPT_FILENAME'] — 當前執行腳本的絕對路徑名。如返回E:\server\index.php

23、$_SERVER['SERVER_ADMIN'] — 該值指明了 Apache 伺服器配置文件中的 SERVER_ADMIN 參數。如果腳本運行在一個虛擬主機上,則該值是那個虛擬主機的值

24、$_SERVER['SERVER_PORT'] — 伺服器所使用的埠。默認為「80」。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 埠。

25、$_SERVER['SERVER_SIGNATURE'] — 包含伺服器版本和虛擬主機名的字元串。

26、$_SERVER['PATH_TRANSLATED'] — 當前腳本所在文件系統(不是文檔根目錄)的基本路徑。這是在伺服器進行虛擬到真實路徑的映像後的結果。 Apache 2 用 戶可以使用 httpd.conf 中的 AcceptPathInfo On 來定義 PATH_INFO。

27、$_SERVER['SCRIPT_NAME'] — 包含當前腳本的路徑。這在頁面需要指向自己時非常有用。__FILE__ 包含當前文件的絕對路徑和文件名(例如包含文件)。

28、$_SERVER['REQUEST_URI'] — 訪問此頁面所需的 URI。例如,「/index.html」。

29、$_SERVER['PHP_AUTH_DIGEST'] — 當作為 Apache 模塊運行時,進行 HTTP Digest 認證的過程中,此變數被設置成客戶端發送的「Authorization」HTTP 頭內容(以便作進一步的認證操作)。

30、$_SERVER['PHP_AUTH_USER']– 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的用戶名。

31、$_SERVER['PHP_AUTH_PW'] — 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的密碼。

32、$_SERVER['AUTH_TYPE']–當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是認證的類型。

2、用PHP做網站,比如,用戶登錄驗證需要寫兩個嗎?即客戶端驗證(用JS寫),另一個是伺服器端驗證(用

你不寫驗證都可以。
寫驗證是為了防止用戶攻擊網站,或者往資料庫專里存入一些垃圾數據。
一般都會寫客戶端屬驗證,客戶端驗證一般都用js寫,js本地跑,不影響伺服器性能。
寫服務端驗證是為了防止用戶跳過客戶端驗證(比如直接發請求,不經過頁面的js代碼)從而攻擊或者非法操作。
網站最重要的就是數據了,你想,如果你不做驗證,稍微會些代碼的人直接通過請求就可以把你資料庫給拷下來。那還玩毛啊。
純手工,望採納

3、怎樣測試伺服器是否支持PHP的偽靜態?

1.檢測Apache是否支持mod_rewrite 通過php提供的phpinfo()函數查看環境配置,通過Ctrl+F查找到「Loaded Moles」,其中列出了所有apache2handler已經開啟的模塊,如果裡麵包括「mod_rewrite」,則已經支持,不再需要繼續設置。
如果沒有開啟「mod_rewrite」,則打開目錄 您的apache安裝目錄「/apache/conf/」 下的 httpd.conf 文件,通過Ctrl+F查找到「LoadMole rewrite_mole」,將前面的」#」號刪除即可。
如果沒有查找到,則到「LoadMole」 區域,在最後一行加入「LoadMole rewrite_mole moles/mod_rewrite.so」(必選獨佔一行),然後重啟apache伺服器即可。

2.讓apache伺服器支持.htaccess
修改httpd.conf文件

Options FollowSymLinks
AllowOverride None
改為
Options FollowSymLinks
AllowOverride All

注意:除了要設置上面的地方以後,還得設置一下下面這個(網上很多資料都沒有講到這一塊),否則你將會配製失敗, 把 DocumentRoot 後面的參數改為你本地網站的目錄 例如你網站的根目錄為 D:/web/ 則得設置為 DocumentRoot "D:/web/" 也就是修改當前目錄

此步驟設置好後也得重啟apache伺服器才能生效

3.建立.htaccess 文件
新建 htaccess.txt
用記事本 打開,點擊文件–另存為,在文件名窗口輸入」.htaccess」,然後點擊保存。此文件得保存在網站的根目錄

4.填寫網站偽靜態規則 (需要 了解 正則表達式)

<IfMole mod_rewrite.c>

RewriteEngine on

RewriteRule index.html$ index.php
RewriteRule index-([1-9]+[0-9]*).html$ index.php?p=$1

</IfMole>

希望能夠幫到你和網上的其它朋友,曾經我也在上面絞盡腦汁。

4、PHP微信測試號驗證伺服器的時候介面配置提示配置成功但是沒有得到url參數

建議你按照我的配置,再測試一下:
public function index(){
//獲得參數 signature nonce token timestamp echostr
$nonce = $_GET['nonce'];
$token = 'weixin';
$timestamp = $_GET['timestamp'];
$echostr = $_GET['echostr'];
$signature = $_GET['signature'];
//形成數組,然後按字典序排序
$array = array();
$array = array($nonce, $timestamp, $token);
sort($array);
//拼接成字元串,sha1加密 ,然後與signature進行校驗
$str = sha1( implode( $array ) );
if( $str == $signature && $echostr ){
//第一次接入weixin api介面的時候
//(第一次,有四個參數,signature、nonce、timestamp、echostr,第二次就沒有echostr參數)
echo $echostr;
exit;
}else{
$this->reponseMsg();//接收事件推送並回復
}
}

5、PHP怎樣檢測伺服器是否支持重寫

是這樣,偽靜態,是偽裝的靜態,不是真正的靜態化。
在用戶看到以為是靜態的,其專實在服務端有一屬個文件(.htaccess)有路由功能,會跳轉。
比如,舉一個例子:
RewriteRule
^([a-zA-Z0-9]+).html$
./?id=$1
//重寫規則
這里是正則表達式,表示將
以字母、數字開頭,以.html結尾的網址,自動換成
./?option=數字字母
很簡單吧?
------------------------
也就是說,你其實
1.html
的網頁,在伺服器其實是執行的?id=1
1.html
這個文件根本不存在。

6、如何檢驗自己的伺服器是否支持PHP

伺服器執行
rpm -qa | grep -i php 查看是否有安裝
或者新建一個index.php的文件
內容為
<?php
phpinfo();
放在web伺服器目錄下能訪問就是

7、如何使用php驗證代理伺服器

如何驗證代理伺服器
代理伺服器可以說不是很穩定,有的昨天用得還好好的,今天就不能用了,或者是要密碼了,為了弄清楚該代理是否還是Free的,就要利用「代理獵手」的驗證功能。代理獵手的右下方有8個按鈕,第一個是「檢驗」、第二個是「檢驗全部」,我們可以按〔檢驗全部〕來驗證列表中的所有代理是否可以使用,也可以在列表中選中一個或多個代理地址後,點擊〔檢驗〕,只驗證這幾個代理是否可以使用。驗證完畢後,點擊列表的標題「驗證狀態」,可以把可用的代理伺服器集中排列在列表的前面,方便查找。

8、如何檢測PHP伺服器是否支持某個函數

echo function_exists(函數名稱);
輸出1或者true表示支持
輸出0或者false表示不支持

9、提交表單時,怎麼控制先進行JS驗證,如果通過JS驗證再連接伺服器執行PHP語句呢?

我把代碼都寫在一個文件裡面 命名為 test.php 你可以測試一下 我只是寫了個意思 具體的操作你可以自己再寫 我測試沒問題了

<html>
<head>
<script type="text/javascript" src="update.js"></script>
<form action = "update.php" method = "POST">
</form>
</head>
<body>
<form action = "test.php" onsubmit="return my_check();" method = "POST">
<table>
<tr><td><label for = "id">文件號:</label></td><td><input type = "text" size="8" name = "id" id='my_id' /></td></tr>
<tr><td><label for = "user">姓名:</label></td><td><input type = "text" size = "8" name = "user" /></td></tr>
<tr><td><input type = "submit" name = "submit" value = "提交更新"/>
<input type = "hidden" name = "action" value = "add" />
<input type = "reset" name = "reset" value = "重新填寫" /></td></tr>
</table>
</form>
</body>
</html>

<script language=javascript>
function my_check(){
var a = document.getElementById("my_id");
if(a.value==""){
alert ("文件號不能為空"+"\n"+"請加上");
a.focus();
return(false);
}
else{
return(true);
}
}
</script>

<?
$act = $_POST['action'];
if($act == 'add'){
$id = $_POST['id'];
echo "您輸入了".$id;
}
?>

10、php項目在linux伺服器上驗證碼不顯示

linux裡面去掉;是沒用的,關鍵是編譯的時候加上
cd ../gd-2.0.33 && ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/lib/ --with-zlib=/usr/local/lib/ --with-freetype=/usr/local/freetype/ && make && make install

#install php
cd ../php-5.2.12/
./configure --prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-pdo-mysql=/usr/local/mysql \
--enable-ftp \
--enable-soap \
--enable-sockets \
--enable-mbstring=all \
--with-libxml-dir=/usr/local/libxml2 \
--with-gd=/usr/local/gd2/ \
--with-jpeg-dir=/usr/local/jpeg6/ \
--with-zlib-dir=/usr/local/lib/ \
--with-curl=/usr/local/curl \
--with-freetype-dir=/usr/local/freetype/ \
--with-libxslt-dir=/usr/local/libxslt
make && make install

與php伺服器驗證相關的知識