發(fā)文章
發(fā)文工具
撰寫(xiě)
網(wǎng)文摘手
文檔
視頻
思維導(dǎo)圖
隨筆
相冊(cè)
原創(chuàng)同步助手
其他工具
圖片轉(zhuǎn)文字
文件清理
AI助手
留言交流
作者:朱先忠編譯
摘要:在本文中,讓我們共同探討基于PHP語(yǔ)言構(gòu)建一個(gè)基本的服務(wù)器端監(jiān)視引擎的諸多技巧及注意事項(xiàng),并給出完整的源碼實(shí)現(xiàn)。 一. 更改工作目錄的問(wèn)題 當(dāng)你編寫(xiě)一個(gè)監(jiān)視程序時(shí),讓它設(shè)置自己的工作目錄通常更好些。這樣以來(lái),如果你使用一個(gè)相對(duì)路徑讀寫(xiě)文件,那么,它會(huì)根據(jù)情況自動(dòng)處理用戶期望存放文件的位置。總是限制程序中使用的路徑盡管是一種良好的實(shí)踐;但是,卻失去了應(yīng)有的靈活性。因此,改變你的工作目錄的最安全的方法是,既使用chdir()也使用chroot()。 chroot()可用于PHP的CLI和CGI版本中,但是卻要求程序以根權(quán)限運(yùn)行。chroot()實(shí)際上把當(dāng)前進(jìn)程的路徑從根目錄改變到指定的目錄。這使得當(dāng)前進(jìn)程只能執(zhí)行存在于該目錄下的文件。經(jīng)常情況下,chroot()由服務(wù)器作為一個(gè)"安全設(shè)備"使用以確保惡意代碼不會(huì)修改一個(gè)特定的目錄之外的文件。請(qǐng)牢記,盡管chroot()能夠阻止你訪問(wèn)你的新目錄之外的任何文件,但是,任何當(dāng)前打開(kāi)的文件資源仍然能夠被存取。例如,下列代碼能夠打開(kāi)一個(gè)日志文件,調(diào)用chroot()并切換到一個(gè)數(shù)據(jù)目錄;然后,仍然能夠成功地登錄并進(jìn)而打開(kāi)文件資源:
來(lái)自: Ralf_Jones > 《PHP》
0條評(píng)論
發(fā)表
請(qǐng)遵守用戶 評(píng)論公約
PHP多進(jìn)程編程 - PHP - 其實(shí)我一點(diǎn)也不NB
} } else { // we are the child echo "\t Starting new child | now we de have $child child processes\n";}}//理論上fork時(shí)$child++,子進(jìn)程死的是否$c...
selenium+python自動(dòng)化88-用例不通過(guò)的時(shí)候發(fā)送郵件
實(shí)現(xiàn)需求:當(dāng)測(cè)試用例全部通過(guò)的時(shí)候,不發(fā)郵件,當(dāng)用例出現(xiàn)Error或Failure的時(shí)候發(fā)送郵件。解決思路:生成html測(cè)試報(bào)告后,用bs4解析ht...
WINDOW7 安裝 pcntl
WINDOW7 安裝 pcntl簡(jiǎn)介。PCNTL現(xiàn)在使用了ticks作為信號(hào)處理的回調(diào)機(jī)制,ticks在速度上遠(yuǎn)遠(yuǎn)超過(guò)了之前的處理機(jī)制。在編譯PHP時(shí) 啟用pcntl將始終承擔(dān)這種開(kāi)銷,不論您的腳本中是否真正使用了pcntl。有一...
【 轉(zhuǎn)】pcntl.so install for system’s PHP install...
pcntl.so install for system’s PHP install.curl http://museum.php.net/php5/php-5.3.6.tar.gz >php-5.3.6.tar.gztar xvfz php-5.3.6.tar.gzcd php-5.3.6/ext/pcntl.cp /usr/lib/php/extensions/...
服務(wù)器上的Nginx和PHP都是源碼編譯安裝的(轉(zhuǎn))--Nginx和PHP啟動(dòng)腳本
服務(wù)器上的Nginx和PHP都是源碼編譯安裝的(轉(zhuǎn))--Nginx和PHP啟動(dòng)腳本。service nginx startservice nginx stopservice nginx restartservice nginx reload.PHP_PATH=/usr/localDESC="php-fpm daem...
shell腳本(管理守護(hù)進(jìn)程)
淘淘商城第三天
public static TaotaoResult build(Integer status, Stringmsg, Object data) {public static TaotaoResult build(Integer status, Stringmsg) {public TaotaoResult(Integerstatus, String msg, Objec...
檢測(cè)Oracle數(shù)據(jù)庫(kù)狀態(tài)
檢測(cè)Oracle數(shù)據(jù)庫(kù)狀態(tài)檢測(cè)Oracle數(shù)據(jù)庫(kù)狀態(tài)。Oracle啟動(dòng)后,為檢測(cè)Oracle服務(wù)的運(yùn)行是否正常,可以執(zhí)行ps命令檢查相關(guān)的Oracle服務(wù)進(jìn)程,也可以通過(guò)Oracle所提供的命令進(jìn)行檢查。ps -ef | grep oracle...
查詢語(yǔ)句安全威脅(付解決方法)
source/class/class_core.php.查詢語(yǔ)句安全威脅SQL: SELECT fid,type,status FROM {tablepre}forum_forum WHERE status IN ("group","forum")Backtrace: admin.php:56 -> sourc...
微信掃碼,在手機(jī)上查看選中內(nèi)容