Time of Update: 2017-01-13
相信很多人要麼是md5()直接存入庫或者儲存md5()和salt兩個欄位。但第一種不安全。第二種麻煩。好在php提供了更簡單的解決方案。註:以下的前提條件是在php5.5版本中的在php5.5以後,可以換一種存法了。簡單方便。<?php$pwd = "123456";$hash = password_hash($pwd, PASSWORD_BCRYPT);echo $hash;// mysql中就只需要儲存這個hash值就行了。建議把資料庫該欄位值設定為255if
Time of Update: 2017-01-13
Metasploit簡介 灰帽駭客(第3版) Metasploit是一個免費的、可下載的架構,通過它可以很容易地擷取、開發並對電腦軟體漏洞實施攻擊。它本身附帶數百個已知軟體漏洞的專業級漏洞攻擊工具。當H.D.
Time of Update: 2017-01-13
今天在烏雲上看到PHP multipart/form-data 遠程DOS漏洞,馬上給同事聯絡了下對線上伺服器進行打補丁,先給一個centos編譯安裝nginx+php-fpm+mysql的教程,如果是根據我這樣安裝的話,那你們可以繼續按照做下去了,如果不是的話,那麼你們就看看吧. 系統:centos 5.x(64位) 需要的軟體:php-5.2-multipart-form-data.patch1.查看自己php版本php -vPHP 5.2.17p1 (
Time of Update: 2017-01-13
inux下,有時候拿到webshell需要提權,提權必須要得到一個互動shell。 我看了一下常用的php webshell,對於命令執行、反彈shell都沒有完善的方式。很多webshell裡都沒有proc_popen、popen這兩種方式,特別是proc_popen,比如phpspy。 在我收集的反彈shell集合(http://tool.p1ng.pw/getshell.html)中,有一個方法,就是在命令列中輸入:1
Time of Update: 2017-01-13
相信大家或多或少都用過AMH,Vestacp等vps面板,這些面板都是使用的php語言,從本質上來說就是php執行linux的外部命令。PHP 為執行外部命令提供大量函數,其中包括 shell_exec()、exec()、passthru() 和 system()。這些命令是相似的,但為您啟動並執行外部程式提供不同的介面。所有這些命令都衍生一個子進程,用於運行您指定的命令或指令碼,並且每個子進程會在命令輸出寫到標準輸出 (stdout) 時捕捉它們。shell_exec函數說明:通過
Time of Update: 2017-01-13
PHP程式員如何理解依賴注入容器(dependency injection container)背景知識傳統的思路是應用程式用到一個Foo類,就會建立Foo類並調用Foo類的方法,假如這個方法內需要一個Bar類,就會建立Bar類並調用Bar類的方法,而這個方法內需要一個Bim類,就會建立Bim類,接著做些其它工作。<?php// 代碼【1】class Bim{ public function doSomething()
Time of Update: 2017-01-13
隨著html可視即可得編輯器的流行,很多網站使用了這樣的編輯器,比如FCKEditor、百度UEditor編輯器等等。跨站指令碼攻擊(XSS)已經不是什麼新鮮的話題了,甚至很多大公司也為此吃盡苦頭。最簡單直接的防範方法,就是不允許任何html標籤輸入,對使用者輸入進行編碼(htmlencode)。但是如果想使用者輸入支援一些格式,怎麼辦?一種辦法就是很多論壇採用的BB Code的方法。使用特定的標籤代替一些格式。比如:[ B ]表示粗體,等等。但是,BB
Time of Update: 2017-01-13
我使用了一個特殊的圖片上傳技巧,繞過PHP
Time of Update: 2017-01-13
安裝破解版的Zend Guard 6.0軟體之後,博主Jhonse哥就嘗試給php檔案加密。第一步: 開啟Zend Guard 6.0軟體 第二步: php檔案加密 1. 建立Zend Guard Project 2. 填寫項目資訊 3. 添加源檔案或者源檔案夾 4.
Time of Update: 2017-01-13
在我們開發登入模組或者是論壇的灌水模組的時候,為了防止惡意提交,需要用到驗證碼。驗證碼就是用來區分人和機器的一種手段,當然這種手段不是萬無一失,但總歸會起到一些作用。驗證碼的實現需要GD庫的支援,沒有開啟GD庫的童鞋需開啟GD庫。其實驗證碼的製作和使用非常的簡單,僅僅只是需要4個步驟就可以搞定:建立驗證碼底圖,顯示驗證碼內容,增加幹擾元素,輸出驗證碼。下面我們來進行步驟拆分:第一步:建立驗證碼底圖$image = imagecreatetruecolor(100, 30); // 建立一個寬為
Time of Update: 2017-01-13
公司運營的論壇被網路攻擊,無奈沒有很好的解決方案,就只有一個個的封IP地址,最終封了1600多個ip段,2個月後網路攻擊逐步減少,擔心會屏蔽正常使用者,所以開始解鎖一批國內的欄位的ip地址,論壇程式是discuz,由於discuz在禁止ip欄位頁面沒有做分頁功能,其導致1600多個欄位同時讀取在頁面上。問題來了,刪除ip欄位時程式不響應,在記錄數1000條以上,不管是提交一條刪除記錄,還是全部刪除記錄,都是沒效果的。1000條記錄下,刪除功能失效最終在discuz官方論壇管理員協助下解決!&nb
Time of Update: 2017-01-13
我們知道PHP是一門解釋型語言,用它們編寫的動態內容都需要依賴相應的解譯器程式來運行,解譯器程式需要對輸入的指令碼代碼進行分析,便將它們產生可以直接啟動並執行中間代碼,也稱為作業碼(Operate Code,opcode)。想要查看php程式的opcode,需要安裝php的parsekit擴充。安裝過程如下:[root@localhost ~]# wget http://pecl.php.net/get/parsekit-1.3.0.tgz[root@localhost ~]# tar
Time of Update: 2017-01-13
編譯安裝配置wget http://pecl.php.net/get/xhprof-0.9.4.tgztar zxvf xhprof-0.9.4.tgz cd xhprof-0.9.4cd extension//usr/bin/phpize./configure ./configure --with-php-config=/usr/local/php/bin/php-configmake && make installvim
Time of Update: 2017-01-13
mac os x 預設已經安裝了php,但是開發系統中的一些常用的PHP擴充庫是沒有的,需要自己手動安裝,現在記錄一下這個,以備查詢。安裝PHP擴充要求你的Mac系統已經安裝了Xcode環境和命令列開發工具,如果還沒安裝,請先使用Shell安裝xcode-select --install為了擴充管理方便,首先來安裝pecl擴充管理器。 cd /usr/lib/php sudo php
Time of Update: 2017-01-13
在執行phpize的時候,出現錯誤提示grep: /usr/include/php/main/php.h: No such file or directorygrep: /usr/include/php/Zend/zend_modules.h: No such file or directorygrep: /usr/include/php/Zend/zend_extensions.h: No such file or directoryConfiguring for:PHP Api
Time of Update: 2017-01-13
彈出層主要用於展示豐富的頁面資訊,還有一個更好的應用是彈出表單層豐富互動應用。常見的應用有彈出登入表單層,使用者提交登入資訊,後台驗證登入成功後,彈出層消失,首頁面局部重新整理使用者資訊。本文我們將給大家介紹如何使用jQuery+Ajax+PHP彈出層非同步登入的應用。關於彈出層效果,我們繼續使用本站helloweba上篇文章中寫的彈出層外掛程式-hwLayer。更多的靈活性體現在綁定彈出層上的表單提交按鈕事件,然後進行ajax非同步互動,最後局部重新整理首頁面,大家可以先看demo示範。閱讀本
Time of Update: 2017-01-13
現在,上網的人越來越多,許多網友嘗試著製作自己的首頁,訪客計數器是必不可少的一部分。雖然很多網站提供免費的計數器,可究竟不是自己親手製作的?有的朋友可能認為它很難,不敢去嘗試,其實有了PHP這個工具,它並不難,甚至可以說它很輕易。首先,讓我來談一談訪客計數器的思路:一位訪問者瀏覽此頁,伺服器(如Apache)從一個文檔(下文以num.txt為例)中讀取該頁已被瀏覽的次數,加一,然後存回num.txt,並在瀏覽器中顯示加一後的次數。
Time of Update: 2017-01-13
<?php// 禁止直接存取該頁面if (basename($HTTP_SERVER_VARS['PHP_SELF']) == "pager.class.php") { header("HTTP/1.0 404 Not Found");}class Pager{ /** 總資訊數 */ var $infoCount; /** 總頁數 */ var $pageCount; /** 每頁顯示條數 */ var $items;
Time of Update: 2017-01-13
WAP(無線通訊協議)是在數字行動電話、個人手持功能(PDA等)及電腦之間進行通訊的開放性全球標準。由於靜態WAP頁面在很多方面不能滿足使用者個人化的服務要求,因此通過WAP伺服器端語言產生動態WML頁面,具有很廣泛的應用價值和很高的商業價值。 WAP應用結構非常類似於Internet,一個典型的WAP應用請求是這樣的:首先,具有WAP使用者代理程式功能的移動終端(WAP手機等)通過內部啟動並執行微瀏覽器(Micro
Time of Update: 2017-01-13
使用者可接受的語言資訊,放在$_SERVER['HTTP_ACCEPT_LANGUAGE']裡,變數資訊是類似這樣的 "zh-cn", 假如是多語言列,是類似 "zh-cn,en;q=0.8,ko;q=0.5,zh-tw;q=0.3" 下面的問題可以迎刃而解了。 代碼:<?phperror_reporting(E_ALL ^ E_NOTICE);// 分析 HTTP_ACCEPT_LANGUAGE 的屬性// 這裡只取第一語言設定