Time of Update: 2017-01-13
以下代碼實現過濾php的$_GET 和$_POST參數 代碼如下複製代碼 /*** 安全防範*/function Add_S($array){foreach($array as $key=>$value){if(!is_array($value)){$value =
Time of Update: 2017-01-13
phpinfo()功能描述:輸出 PHP 環境資訊以及相關的模組、WEB 環境等資訊。危險等級:中passthru()功能描述:允許執行一個外部程式並回顯輸出,類似於 exec()。危險等級:高exec()功能描述:允許執行一個外部程式(如 UNIX Shell 或 CMD 命令等)。危險等級:高system()功能描述:允許執行一個外部程式並回顯輸出,類似於 passthru()。危險等級:高chroot()功能描述:可改變當前 PHP 進程的工作根目錄,僅當系統支援 CLI 模式PHP
Time of Update: 2017-01-13
隱藏PHP版本為了安全起見,最好還是將PHP版本隱藏,以避免一些因PHP版本漏洞而引起的攻擊。1、隱藏PHP版本就是隱藏 “X-Powered-By: PHP/5.2.13″ 這個資訊。方法很簡單:編輯php.ini設定檔,修改或加入: expose_php = Off 儲存後重新啟動Nginx或Apache等相應的Web伺服器即可。 代碼如下複製代碼 [root@bkjz /]# curl -I www.111cn.netHTTP/1.1 200
Time of Update: 2017-01-13
mysql_real_escape_string() 函數轉義 SQL 陳述式中使用的字串中的特殊字元。下列字元受影響: 代碼如下複製代碼 x00nr'"x1a 如果成功,則該函數返回被轉義的字串。如果失敗,則返回 false。易利用下面的這個函數,就可以有效過濾了。 代碼如下複製代碼 function safe($s){ //安全過濾函數if(get_magic_quotes_gpc()){ $s=stripslashes($s); }$s=
Time of Update: 2017-01-13
要求在頁面間傳遞一個驗證字串, 在產生頁面的時候 隨機產生一個字串, 做為一個必須參數在所有串連中傳遞。同時將這個字串儲存在session中。點串連或者表單進入頁面後,判斷session中的驗證碼是不是與使用者提交的相同,如果相同,則處理,不相同則認為是重複重新整理。 在處理完成後將重建一個驗證碼,用於新頁面的產生 代碼如下複製代碼 <?php session_start(); $k=$_GET['k']; $t=$_GET['t']; $allowTime = 180
Time of Update: 2017-01-13
下面針對常用表單特殊字元處理進行總結:測試字串: 代碼如下複製代碼 $dbstr='D:test<a href="http://www.111cn.net">http://www.111cn.net</a>,天緣部落格'!='1' OR '1'</DIV><script language="javascript"
Time of Update: 2017-01-13
eval(phpcode) 必需。規定要計算的 PHP 代碼。例1 代碼如下複製代碼 <?php$string = '杯子';$name = '咖啡';$str = '這個 $string 中裝有 $name.<br>';echo $str;eval( "$str = "$str";" );echo $str;?>本例的傳回值為這個 $string 中裝有 $name.這個 杯子 中裝有 咖啡.
Time of Update: 2016-07-09
標籤:1234567891011121314151617181920212223242526272829303132333435363738<?php //串連參數 $host="localhost"; $user="root"; $pwd="111111"; $db="test"; $linkID =mysqli
Time of Update: 2016-06-14
標籤:0x01 背景首先我們瞭解下寬位元組注入,寬位元組注入源於程式員設定MySQL串連時錯誤配置為:set character_set_client=gbk,這樣配置會引發編碼轉換從而導致的注入漏洞。具體原理如下:1.正常情況下當GPC開啟或使用addslashes函數過濾GET或POST提交的參數時,駭客使用的單引號 ‘ 就會被轉義為:
Time of Update: 2016-06-03
標籤:PHP串連資料庫JS是一門語言,是用戶端的指令碼,JS不能串連資料庫,JS在用戶端,資料庫在服務端(在伺服器上的),JS是沒法串連資料庫的,PHP在運行時在 用戶端在訪問某一個網頁時,它(用戶端)會發送一個請求到伺服器,之後,伺服器由誰接收請求?由阿帕奇(伺服器管理員),阿帕奇接收請求之後,如果發現請求的頁面,是一個.html頁面,說明是一個靜態頁面,從檔案裡拿出來給阿帕奇,再返回用戶端,這是一個靜態頁面處理方式。發送的是一個動態頁面(.PHP),
Time of Update: 2016-05-13
標籤:mysqli是一種物件導向的技術使用 mysqli 類mysqli 類對象主要控制PHP和MySQL伺服器之間的串連、選擇資料庫、發送SQL語句,以及設定字串等1.串連MySQL伺服器方法一:$mysqli = new mysqli("localhost","root","1234567","bookstore");//串連mysql
Time of Update: 2016-04-05
標籤:正常情況下用php的mysql_query函數是不能批量執行多句CREATE
Time of Update: 2016-03-27
標籤:一、過時方法(PHP5以前的版本用的):用函數連結資料庫,相當於面向過程的方式//設定頁面編碼格式 header("content-type:text/html;charset=utf-8");1)產生連結 $db_connect = $mysql_connect("localhost","root","517") // localhost:伺服器的地址; root:資料庫的使用者名稱;
Time of Update: 2016-12-09
標籤:數組 函數定義 弱類型 劃線 第一個 提示 形參 函數 字母 PHP函數PHP的真正威力源自於它的函數函數是通過調用函數來執行的,可以在頁面的任何位置調用函數PHP函數準則:函數名稱以字母
Time of Update: 2016-11-05
標籤:簡單選擇排序 時間 好的 else 快速排序 quick 已耗用時間 turn function 一
Time of Update: 2016-04-09
標籤:經常遇到忘記密碼的情況,點擊一下忘記密碼,然後收到更改密碼的連結,串連中往往都會有一段很長而且很亂的字串。試想一下,如果出現了重複的字串,那豈不是把別人的密碼給重設了?所以產生唯一數對於網站的安全性很重要。目前PHP能產生唯一數的方法可以採用散列值、隨機數、時間等方法,下面是我自己測試的唯一數,個人推薦GUID。方法一:<?PHP $str = uniqid(mt_rand(),1); echo ‘sha1: ‘,sha1($str); echo
Time of Update: 2016-05-14
標籤:每次安裝php開發環境的時候總是得或多或少困惑一陣,今天來梳理一下apache,php之間的關係(根據http://www.ituring.com.cn/article/128439整理,添加。)1.apache和php都是由visual studio編譯。因此我們經常會遇到選擇VC6/VC9/VC11的困惑。PHP官方不建議在Windows下安裝從apache.org網站下載的Apache二進位安裝包。原因就是這些安裝包是基於陳舊的Visual Studio
Time of Update: 2016-04-02
標籤:php的memcached是比memcache,效率更高的memcache緩衝擴充。然而windows下並沒有這個擴充,於是做單元測試時要把代碼上傳到linux伺服器,再運行,甚是麻煩。(當然另外的解決辦法是把開發機的系統換成linux)好在有高手用純php實現了memcached的介面,項目在此。可以用composer不過就一個php檔案,可以直接放到項目目錄下。我們的項目是通過串連池來統一管理緩衝,在windows上替換成這個庫,倒是非常方便。if(strpos(php_uname(‘
Time of Update: 2016-02-24
標籤:最近研究rabbitmq隊列,linux安裝這樣的軟體一向都是很方便的,但是windows可能會比較麻煩,所以對windows的安裝做個記錄。windows上使用的php擴充為dll檔案,首先去下載dll檔案,我下載的是amqp1.4,為 http://pecl.php.net/package/amqp/1.4.0/windows,請根據自己的php版本來下載,php版本應該都會看 吧(phpinfo),把裡面的兩個dll檔案複製出來1.將php_amqp.dll放在php的ext目錄裡,
Time of Update: 2016-09-21
nginx與php-fpm 504 Gateway Time-out 排查與解決案例很多人都都可能遇到過504 Gateway Time-out。有時候會讓人一頭霧水。解決方案:1.通過百度可以很多人的說法,調整 nginx配置或者php-fpm配置,配置大家都可以百度,在這邊就不多說。但是很多都嘗試了沒有什麼軟用。2.嘗試過上面的方法還是回到本質上是不是整站都是504.如果不是,我建議你開啟php-fpm 慢日誌來查看對應的頁面請求與響應慢是由哪個方法或者操作造成的。php-fpm