① linux下有個php網站127.0.01/index.php可以打開,想設置成只能埠打開
將站點監聽的80埠改為8888埠
修改後只能通過8888埠才能訪問,http默認埠是80,https默認埠是443
使用默認埠時,不需要特意輸入埠號,而用非默認埠(如8888)則需要加上:8888表示埠號
② Linux下使用PHP實現提升許可權技巧phplinux提權
隨著互聯網的發展和IT技術的日新月異,Linux系統作為一種常用的伺服器操作系統,也變得越來越重要。PHP作為一種強大的腳本語言,在Linux系統下也得到了廣泛的應用。在Linux系統中,管理員或開發人員需要通過提升用戶許可權來完成各種操作,如編輯系統文件或者執行某些需要root許可權才能運行的腳本等。本文將闡述在Linux系統下使用PHP實現提升許可權技巧。
一、前置知識
在討論如何使用PHP實現提升許可權之前,需要了解一些Linux系統的基本知識,如用戶、用戶組、文件許可權等。在Linux系統中,每個文件或目錄都有建立它的用戶和用戶組,並且每個用戶都屬於某一個用戶組,用戶和用戶組都有各自的許可權標記,如讀、寫、執行等,以及文件的屬性,例如所有者、所屬組等等。在使用PHP實現提升許可權的過程中,我們需要了解這些基本知識,以便正確設置文件和目錄的許可權。
二、提升許可權的方法
1.使用sudo
在Linux系統中,管理員可以使用sudo命令臨時提升自己的許可權,以執行需要root許可權才能運行的操作。如果要在PHP中使用此方法,可以使用PHP的exec函數執行sudo命令。下面是一個使用sudo命令執行某個腳本的例子:
“`
$cmd = “sudo /usr/local/in/test.sh”;
exec($cmd, $output);
print_r($output);
?>
“`
在這個例子中,我們使用sudo命令執行了一個名為test.sh的腳本,該腳本需要root許可權才能執行。執行完畢後,輸出結果會被存儲在$output數組中,然後使用print_r函數輸出。
2.修改文件許可權
在Linux系統中,管理員可以通過修改文件或目錄的許可權來提升用戶的許可權。如果要在PHP中使用此方法,可以使用PHP的chmod函數修改文件或目錄的許可權。下面是一個修改文件許可權的例子:
“`
$file = “/var/www/html/test.php”;
chmod($file, 0755);
?>
“`
在這個例子中,我們將文件/var/www/html/test.php的許可權修改為755,其中數字755表示所有者擁有讀、寫、執行許可權,組用戶和其他用戶擁有讀、執行許可權。通過修改許可權,我們可以讓PHP腳本獲得更高的執行許可權,以便執行某些需要root許可權才能運行的操作。
3.使用setuid
在Linux系統中,我們可以為某些可執行文件設置setuid標記,這樣所有者擁有執行該文件的許可權。如果要在PHP中使用此方法,我們可以設置PHP腳本的所有者為root,並且為PHP可執行文件設置setuid標記。下面是一個使用setuid的例子:
“`
$cmd = “/usr/local/php/php-cgi”;
posix_setuid(0);
chmod($cmd, 04750);
exec($cmd, $output);
print_r($output);
?>
“`
在這個例子中,我們使用PHP的posix_setuid函數將PHP腳本的所有者設置為root,在執行完畢後將PHP可執行文件/usr/local/php/php-cgi的許可權設置為4750,其中數字4750表示將setuid標記設置為4,保留原有所有者用戶組的讀許可權,並且為所有組用戶和其他用戶設置執行許可權。執行完畢後,輸出結果會被存儲在$output數組中,然後使用print_r函數輸出。
三、安全問題
在使用PHP實現提升許可權的過程中,我們需要注意安全問題,以保證系統的安全性。我們需要使用sudo或setuid時,只將需要的操作對應的程序或文件提升到root許可權,而不是整個程序或文件,這樣可以控制提升許可權的范圍,從而減少濫用許可權的風險。我們需要謹慎選擇在PHP中執行的命令或操作,並為PHP腳本設置足夠的安全保護,避免被惡意攻擊所利用。我們需要定期審核提升許可權的記錄,並嚴格控制提升許可權的文件和目錄的許可權,避免被非法訪問或篡改。
在Linux系統下,使用PHP實現提升許可權是一種十分實用的技巧,可以讓管理員或開發人員獲得更高的許可權來完成各種操作。在使用此技巧時,我們需要了解Linux系統的基本知識,正確設置文件和目錄的許可權,並注意安全問題,以保證系統的穩定性和安全性。
相關問題拓展閱讀:
linux下php文件設置成什麼許可權安全又不影響運行?linux下php文件設置成什麼許可權安全又不影響運行?
建一個用戶
這個用戶來茄銷虧運行網站程序apache
nginx之類
你的PHP文件設顫神置成
chown
你建立的用戶
然後讀寫許可權
你看斗李著辦
關於php linux 提權的介紹到此就結束了.
③ 怎麼在linux運行php文件
在安裝完PHP和Apache2後,我們需要安裝PHP命令行解釋器。
# apt-get install php5-cli [Debian 及類似系統]
# yum install php-cli [CentOS 及類似系統]
接下來我們通常要做的是,在/var/www/html(這是 Apache2 在大多數發行版中的工作目錄)這個位置創建一個內容為 <?php phpinfo(); ?>,名為 infophp.php 的文件來測試(PHP是否安裝正確),執行以下命令即可。
# echo '<?php phpinfo(); ?>' > /var/www/html/infophp.php
然後,將瀏覽器訪問 http://127.0.0.1/infophp.php ,這將會在網路瀏覽器中打開該文件。
檢查所有PHP信息
這里,『-f『選項解析並執行命令後跟隨的文件。
④ 怎麼在linux伺服器上配置php環境
建議多使用網路搜索,網上這樣的帖子特別多。
Linux的分支比較大,不過常使用的也就Centos和Ubuntu。下面我貼出來在Centos上面搭建php環境的方法,命令有所不同,不過差異不大。
安裝apache:
yum install httpd httpd-devel
啟動apache:
/etc/init.d/httpd start
此時輸入伺服器的IP地址,應該看到apache的服務頁面,埠不用輸,apache默認就是使用80埠
安裝mysql:
yum install mysql mysql-server
啟動mysql:
/etc/init.d/mysqld start
安裝php
yum install php php-devel
重啟apache使php生效
/etc/init.d/httpd restart
此時可以在目錄:/var/www/html/下建立一個PHP文件
代碼:
<?php phpinfo(); ?>
然後訪問這個文件,就能看到PHP的一些信息,php.ini配置文件的路徑可以在這個頁面上看到
安裝php的擴展
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
安裝完擴展之後需要再次重啟apache
/etc/init.d/httpd restart
測試mysql是否鏈接成功的php代碼
<?php
$con = mysql_connect("10.0.@.@@","@@","@@");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydb", $con);
$result = mysql_query("SELECT * FROM sys_user");
while($row = mysql_fetch_array($result))
{
echo $row['UserName'] . " " . $row['PassWord'] . " " . $row['id'];
echo "<br />";
}
mysql_close($con);
?>
可以把上面的代碼傳入目錄/var/www/html/
就可以看到執行情況
⑤ 在現有的linux tomcat7環境下,怎麼增加支持php的網站
正常搭建lamp環境就行了啊,只是web伺服器的埠不要和tomcat的一樣就行了。先安裝和配置好Nginx和PHP-FPM,再把80埠的Tomcat調成8080埠,Ubuntu/Debian可以這樣安裝Nginx和PHP-FPM: sudo apt-get install nginx php5-fpm php5-mysqlnd php5-gd
假設這個java站的域名是java.net.你現在想添加一個域名php.net也解析簡鍵到你的這台伺服器.這時就建議你引入一個Nginx了,配置2個server{}塊,一攔氏巧個域名核神是java.net,請求proxy_pass給監聽8080埠的Tomcat,一個域名設為php.net,請求fastcgi_pass給監聽9000埠的PHP-FPM.
Nginx配置示例如下:
server {
listen 80;
server_name java.net;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
}
server {
listen 80;
server_name php.net;
location ~ \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
⑥ 如何在 Linux 命令行中使用和執行 PHP 代碼
PHP是一個開源伺服器端腳本語言,最初這三個字母代表的是「Personal Home Page」,而現在則代表的是「PHP:Hypertext Preprocessor」,它是個遞歸首字母縮寫。它是一個跨平台腳本語言,深受C、C++和Java的影響。
在 Linux 命令行中運行 PHP 代碼
PHP的語法和C、Java以及帶有一些PHP特性的Perl變成語言中的語法十分相似,它當下大約正被2.6億個網站所使用,當前最新的穩定版本是PHP版本5.6.10。
PHP是HTML的嵌入腳本,它便於開發人員快速寫出動態生成的頁面。PHP主要用於伺服器端(而Javascript則用於客戶端)以通過HTTP生成動態網頁,然而,當你知道可以在Linux終端中不需要網頁瀏覽器來執行PHP時,你或許會大為驚訝。
本文將闡述PHP腳本語言的命令行方面。
1. 在安裝完PHP和Apache2後,我們需要安裝PHP命令行解釋器。
# apt-get install php5-cli [Debian 及類似系統] # yum install php-cli [CentOS 及類似系統]接下來我們通常要做的是,在/var/www/html(這是 Apache2 在大多數發行版中的工作目錄)這個位置創建一個內容為 ,名為 infophp.php 的文件來測試(PHP是否安裝正確),執行以下命令即可。
# echo '' /var/www/html/infophp.php然後,將瀏覽器訪問 http://127.0.0.1/infophp.php ,這將會在網路瀏覽器中打開該文件。
檢查PHP信息
不需要任何瀏覽器,在Linux終端中也可以獲得相同的結果。在Linux命令行中執行/var/www/html/infophp.php,如:
# php -f /var/www/html/infophp.php從命令行檢查PHP信息
由於輸出結果太大,我們可以通過管道將上述輸出結果輸送給 less 命令,這樣就可以一次輸出一屏了,命令如下:
# php -f /var/www/html/infophp.php | less檢查所有PHP信息
這里,『-f『選項解析並執行命令後跟隨的文件。
2. 我們可以直接在Linux命令行使用phpinfo()這個十分有價值的調試工具而不需要從文件來調用,只需執行以下命令:
# php -r 'phpinfo();'PHP調試工具
這里,『-r『 選項會讓PHP代碼在Linux終端中不帶和標記直接執行。
3. 以交互模式運行PHP並做一些數學運算。這里,『-a『 選項用於以交互模式運行PHP。
# php -a Interactive shell php echo 2+3; 5 php echo 9-6; 3 php echo 5*4; 20 php echo 12/3; 4 php echo 12/5; 2.4 php echo 2+3-1; 4 php echo 2+3-1*3; 2 php exit輸入 『exit『 或者按下 『ctrl+c『 來關閉PHP交互模式。
啟用PHP交互模式
4. 你可以僅僅將PHP腳本作為shell腳本來運行。首先,創建在你當前工作目錄中創建一個PHP樣例腳本。
# echo -e '#!/usr/bin/php' phpscript.php注意,我們在該PHP腳本的第一行使用#!/usr/bin/php,就像在shell腳本中那樣(/bin/bash)。第一行的#!/usr/bin/php告訴Linux命令行用 PHP 解釋器來解析該腳本文件。
其次,讓該腳本可執行:
# chmod 755 phpscript.php接著來運行它,
# ./phpscript.php5. 你可以完全靠自己通過交互shell來創建簡單函數,這你一定會被驚到了。下面是循序漸進的指南。
開啟PHP交互模式。
# php -a創建一個函數,將它命名為 addition。同時,聲明兩個變數 $a 和 $b。
php function addition ($a, $b)使用花括弧來在其間為該函數定義規則。
php {定義規則。這里,該規則講的是添加這兩個變數。
php { echo $a + $b;所有規則定義完畢,通過閉合花括弧來封裝規則。
php {}測試函數,添加數字4和3,命令如下:
php var_mp (addition(4,3));樣例輸出
7NULL你可以運行以下代碼來執行該函數,你可以測試不同的值,你想來多少次都行。將里頭的 a 和 b 替換成你自己的值。
php var_mp (addition(a,b));php var_mp (addition(9,3.3));樣例輸出
12.3NULL創建PHP函數
你可以一直運行該函數,直至退出交互模式(ctrl+z)。同時,你也應該注意到了,上面輸出結果中返回的數據類型為 NULL。這個問題可以通過要求 php 交互 shell用 return 代��� echo 返回結果來修復。
只需要在上面的函數的中 『echo『 聲明用 『return『 來替換
替換
php { echo $a + $b;為
php {return $a + $b;剩下的東西和原理仍然一樣。
這里是一個樣例,在該樣例的輸出結果中返回了正確的數據類型。
PHP函數
永遠都記住,用戶定義的函數不會從一個shell會話保留到下一個shell會話,因此,一旦你退出交互shell,它就會丟失了。
回復
使用道具 舉報
返回列表