亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

分享自定義的幾個PHP功能函數

2024-05-04 23:34:16
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了分享自定義的幾個PHP功能函數,本文羅列的都是WEB開發中常用的一些功能函數,例如提交過濾、字符串截取、IP地址匿名化、隱藏文件真實路徑等,需要的朋友可以參考下

最近不是在折騰論壇嘛,各種類各種函數,原創一些,從別人那兒qiang過來一些,在此分享出來,希望有朋友能用的到~

注意:部分函數可能不夠完善,由此造成的漏洞風險自擔~

提交過濾

 

 
  1. function filter($text
  2. //完全過濾注釋 
  3. $text = preg_replace('/<!--?.*-->/'''$text); 
  4. //完全過濾js 
  5. $text = preg_replace('/<script?.*//script>/'''$text); 
  6. //過濾危險的屬性,如:過濾on事件lang js 
  7. while (preg_match('/(<[^><]+)( lang|action|background|codebase|dynsrc|lowsrc)[^><]+/i'$text$mat)) { 
  8. $text = str_replace($mat[0], $mat[1], $text); 
  9. while (preg_match('/(<[^><]+)(window/.|javascript:|js:|about:|file:|document/.|vbs:|cookie)([^><]*)/i'$text$mat)) { 
  10. $text = str_replace($mat[0], $mat[1] . $mat[3], $text); 
  11. //過濾多余html 
  12. $text = preg_replace('/<//?(html|head|meta|link|base|basefont|body|bgsound|script|form|iframe|frame|frameset|applet|id|ilayer|layer|name|script|xml)[^><]*>/i'''$text); 
  13. //反轉換 
  14. $text = str_replace('[''<'$text); 
  15. $text = str_replace(']''>'$text); 
  16. $text = str_replace('|''"'$text); 
  17. return $text

提交過濾2

 

 
  1. function stripslashes_array(&$array
  2. while (list($key$var) = each($array)) { 
  3. if ($key != 'argc' && $key != 'argv' && (strtoupper($key) != $key || '' . intval($key) == "$key")) { 
  4. if (is_string($var)) { 
  5. $array[$key] = stripslashes($var); 
  6. if (is_array($var)) { 
  7. $array[$key] = stripslashes_array($var); 
  8. return $array

字符串截?。ㄟ@個是emlog里提出來的,其實也就是substr的增強版)

 

 
  1. function subString($strings$start$length
  2. if (function_exists('mb_substr') && function_exists('mb_strlen')) { 
  3. $sub_str = mb_substr($strings$start$length'utf8'); 
  4. return mb_strlen($sub_str'utf8') < mb_strlen($strings'utf8') ? $sub_str . '...' : $sub_str
  5. $str = substr($strings$start$length); 
  6. $char = 0; 
  7. for ($i = 0; $i < strlen($str); $i++) { 
  8. if (ord($str[$i]) >= 128) 
  9. $char++; 
  10. $str2 = substr($strings$start$length + 1); 
  11. $str3 = substr($strings$start$length + 2); 
  12. if ($char % 3 == 1) { 
  13. if ($length <= strlen($strings)) { 
  14. $str3 = $str3 .= '...'
  15. return $str3
  16. if ($char % 3 == 2) { 
  17. if ($length <= strlen($strings)) { 
  18. $str2 = $str2 .= '...'
  19. return $str2
  20. if ($char % 3 == 0) { 
  21. if ($length <= strlen($strings)) { 
  22. $str = $str .= '...'
  23. return $str

IP地址匿名化(最后一位替換為星號)

 

 
  1. function AnonymousIP()  
  2. $ip = GetIP(); 
  3. if ($ip == "Unknown") { 
  4. $removed_ip = "未知用戶"
  5. if (strpos($ip":")) { 
  6. $removed_ip = "IPv6用戶"
  7. else { 
  8. $reg1 = '/((?:/d+/.){3})/d+/'
  9. $reg2 = '~(/d+)/.(/d+)/.(/d+)/.(/d+)~'
  10. $removed_ip = preg_replace($reg1"//1*"$ip); 
  11. return $removed_ip

獲取客戶端IP地址

 

 
  1. function GetIP() 
  2. if (@$_SERVER["HTTP_X_FORWARDED_FOR"]) 
  3. $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; 
  4. else if (@$_SERVER["HTTP_CLIENT_IP"]) 
  5. $ip = $_SERVER["HTTP_CLIENT_IP"]; 
  6. else if (@$_SERVER["REMOTE_ADDR"]) 
  7. $ip = $_SERVER["REMOTE_ADDR"]; 
  8. else if (@getenv("HTTP_X_FORWARDED_FOR")) 
  9. $ip = getenv("HTTP_X_FORWARDED_FOR"); 
  10. else if (@getenv("HTTP_CLIENT_IP")) 
  11. $ip = getenv("HTTP_CLIENT_IP"); 
  12. else if (@getenv("REMOTE_ADDR")) 
  13. $ip = getenv("REMOTE_ADDR"); 
  14. else 
  15. $ip = "Unknown"
  16. return $ip

字符串加密(支持中文)

 

 
  1. function dencrypt($string$isEncrypt = true, $key = "youdian"
  2. if (!isset($string{0}) || !isset($key{0})) { 
  3. return false; 
  4.  
  5. $dynKey = $isEncrypt ? hash('sha1', microtime(true)) : substr($string, 0, 40); 
  6. $fixedKey = hash('sha1'$key); 
  7.  
  8. $dynKeyPart1 = substr($dynKey, 0, 20); 
  9. $dynKeyPart2 = substr($dynKey, 20); 
  10. $fixedKeyPart1 = substr($fixedKey, 0, 20); 
  11. $fixedKeyPart2 = substr($fixedKey, 20); 
  12. $key = hash('sha1'$dynKeyPart1 . $fixedKeyPart1 . $dynKeyPart2 . $fixedKeyPart2); 
  13.  
  14. $string = $isEncrypt ? $fixedKeyPart1 . $string . $dynKeyPart2 : (isset($string{339}) ? gzuncompress(base64_decode(substr($string, 40))) : base64_decode(substr($string, 40))); 
  15.  
  16. $n = 0; 
  17. $result = ''
  18. $len = strlen($string); 
  19.  
  20. for ($n = 0; $n < $len$n++) { 
  21. $result .= chr(ord($string{$n}) ^ ord($key{$n % 40})); 
  22. return $isEncrypt ? $dynKey . str_replace('='''base64_encode($n > 299 ? gzcompress($result) : $result)) : substr($result, 20, -20); 

檢查字符串是否包含中文

 

 
  1. function CheckChinese($string
  2. if (preg_match("/[/x7f-/xff]/"$string)) { 
  3. return true; 
  4. else { 
  5. return false; 

隱藏文件真實路徑

 

 
  1. function FileHeaderJump($file
  2. header('Content-Description: File Transfer'); 
  3. header('Content-Type: application/octet-stream'); 
  4. header('Content-Disposition: attachment; filename=' . basename($file)); 
  5. header('Content-Transfer-Encoding: binary'); 
  6. header('Expires: 0'); 
  7. header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
  8. header('Pragma: public'); 
  9. header('Content-Length: ' . filesize($file)); 
  10. ob_clean(); 
  11. flush(); 
  12. readfile($file); 
  13. exit

生成隨機字符串,自定義長度

 

 
  1. function CreateRandomString($length
  2. $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
  3. $password = ""
  4. for ($i = 0; $i < $length$i++) { 
  5. $password .= $chars[mt_rand(0, strlen($chars) - 1)]; 
  6. return $password

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
有码中文亚洲精品| 狠狠综合久久av一区二区小说| 在线观看久久久久久| 在线观看成人黄色| 国外成人在线直播| 国产精品国模在线| 亚洲国产成人久久综合| 欧美日韩国产在线播放| 中文字幕亚洲综合久久筱田步美| 国产精品电影在线观看| 欧美午夜宅男影院在线观看| 精品av在线播放| 伊人久久久久久久久久久久久| 久久精品亚洲一区| 黑人精品xxx一区一二区| 亚洲激情 国产| 亚洲欧美色婷婷| 成人激情在线观看| 黑人狂躁日本妞一区二区三区| 欧美日韩国产专区| 国产91色在线| 97香蕉久久夜色精品国产| 最近2019年手机中文字幕| 久久在精品线影院精品国产| 国产狼人综合免费视频| 久久久精品国产网站| 国产一区二区三区三区在线观看| 国产精品视频区1| 日韩欧美中文第一页| 国产精品免费观看在线| 国产精品亚洲一区二区三区| 日韩专区在线播放| 欧美性xxxx| 亚洲成av人片在线观看香蕉| 国产精品免费观看在线| 日本精品一区二区三区在线播放视频| 国产精品视频地址| 亚洲v日韩v综合v精品v| 久久精品国产99国产精品澳门| 日韩电影免费观看在线观看| 亚洲欧美国产精品久久久久久久| 九九热这里只有精品6| 亚洲无限乱码一二三四麻| 午夜精品久久久99热福利| 亚洲人成绝费网站色www| 国产午夜精品美女视频明星a级| 97免费视频在线| 亚洲精品成人久久| 91国产美女在线观看| 9.1国产丝袜在线观看| 欧美日本国产在线| 成人av色在线观看| 国产精品免费小视频| 国产精品美女久久久免费| 最近中文字幕日韩精品| 91国产美女在线观看| 日本aⅴ大伊香蕉精品视频| 日本不卡免费高清视频| 国产精品久久久久久久午夜| 亚洲自拍欧美色图| 久久久精品一区| 6080yy精品一区二区三区| 久久久视频在线| 亚洲伦理中文字幕| 久久精品99国产精品酒店日本| 亚洲一区av在线播放| 91丨九色丨国产在线| 中文字幕日韩欧美在线视频| 亚洲人成欧美中文字幕| 一夜七次郎国产精品亚洲| 欧美大片在线免费观看| 久久亚洲电影天堂| 亚洲aⅴ日韩av电影在线观看| 主播福利视频一区| 成人两性免费视频| 伊人青青综合网站| 国产午夜精品久久久| 亚洲女在线观看| 国产精品亚洲片夜色在线| 热久久视久久精品18亚洲精品| 日韩亚洲精品电影| 色视频www在线播放国产成人| 国产在线高清精品| 日韩网站免费观看高清| 中文日韩在线观看| 91免费电影网站| 亚洲二区中文字幕| 国产精品色午夜在线观看| 午夜精品蜜臀一区二区三区免费| 亚洲国产另类久久精品| 欧美日韩美女在线| 日韩av免费看网站| 欧美激情国产高清| 国产成人福利网站| 亚洲欧美一区二区三区久久| 国产精品中文字幕久久久| 俺去啦;欧美日韩| 亚洲国产精品一区二区久| 欧美日韩国产影院| 97视频在线观看免费| 欧美电影《睫毛膏》| 亚洲自拍欧美另类| 久久成年人视频| 亚洲香蕉成人av网站在线观看| 久久精品夜夜夜夜夜久久| 精品视频在线观看日韩| 欧美猛交免费看| 国产日韩精品综合网站| 欧美性videos高清精品| 欧美日韩人人澡狠狠躁视频| 亚洲欧美国产视频| 91久久国产综合久久91精品网站| 日韩毛片中文字幕| 久久精视频免费在线久久完整在线看| 亚洲国模精品私拍| 亚洲男人天堂2019| 欧美成人精品三级在线观看| 亚洲最大av在线| 91精品国产综合久久香蕉922| 国产精品入口日韩视频大尺度| 久久91亚洲人成电影网站| 国内精品免费午夜毛片| 欧美大尺度电影在线观看| 午夜精品理论片| 亚洲国产成人精品女人久久久| 国产亚洲精品久久久| 91精品国产成人| 欧美亚洲国产日韩2020| 日本韩国欧美精品大片卡二| xvideos成人免费中文版| 欧美精品999| 最近2019中文字幕一页二页| 色一情一乱一区二区| 91精品久久久久久久| 久久精品色欧美aⅴ一区二区| 久久精品中文字幕免费mv| 国产精品久久久久av免费| 久久久久久久久久久91| 伊人久久久久久久久久| 欧美精品做受xxx性少妇| 欧美电影免费观看高清完整| 这里精品视频免费| 国产精品扒开腿做爽爽爽的视频| 亚洲精品丝袜日韩| 九九九久久久久久| 欧美乱大交xxxxx| 97精品视频在线| 日本欧美黄网站| 欧美性视频精品| 性欧美视频videos6一9| 插插插亚洲综合网| 国产精品久久久久免费a∨大胸| 成人免费观看网址| 国产亚洲欧美aaaa| 亚洲第一av网| 亚洲欧美日韩中文视频| 97人人模人人爽人人喊中文字| 亚洲精品视频播放| 人人澡人人澡人人看欧美| 国产精品日韩欧美大师| 欧美日韩色婷婷| 98精品在线视频| 日本精品免费一区二区三区| 欧美极度另类性三渗透|