Centos下PHP-DDOS脚本的研究与防范

Centos下PHP-DDOS脚本的研究与防范
前天由于一个客户不停地向外发包,导致服务器整个瘫痪。仔细检查后发现客户的discuz程序被植入被植入了PHP-DDoS攻击脚本,访问触发后会不停地攻击他人服务器。所以导致了网络的瘫痪。主要原因由于程序的不健壮以及PHP新的BUG被大规模利用。 特征:用PHP代码调用sockets,直接用服务器的网络攻击别的IP。 PHP脚本DDOS攻击的原因及php脚本部分源码: PHP $fp = fsockopen(“udp:...


PHP通过代理访问网站

PHP通过代理访问网站
<?php $requestUrl = 'ip878.com'; $ch = curl_init(); $timeout = 5; curl_setopt ($ch, CURLOPT_URL, $requestUrl); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); //代理认证模式 curl_setopt($ch, CURLOPT_PROXY, "112.65.219.72"); //代理服务器地址 curl_setopt($ch, CURLOPT_PROX...


php字符串转换大小写

php字符串转换大小写
首字母变大写:ucwords() <?php $foo = 'hello world!'; $foo = ucwords($foo); // Hello World!$bar = 'HELLO WORLD!'; $bar = ucwords($bar); // HELLO WORLD! $bar = ucwords(strtolower($bar)); // Hello World! ?> 第一个词首字母变大写:ucfirst() <?php $foo = 'hello world!'; $foo = ucfirst($foo); // Hello world!$bar = 'HELLO WORLD!'; $bar = ucfirst($bar); // HELLO WORLD! $bar ...


PHP去除头尾空格(包括去除全角空格)

PHP去除头尾空格(包括去除全角空格)
使用php中内置函数trim只能去除半角的空格,无法去除全角空格。在网页中汉字全角空格会被解析为&#12288; <?php /* 字体转换 $content 内容 $to_encoding 目标编码,默认为UTF-8 $from_encoding 源编码,默认为UTF-8 */ function mbStrreplace($content,$to_encoding="UTF-8",$from_encoding="UTF-8") { $content=mb_convert_encoding($content,$to_encoding,$from_encoding); $str=mb_convert_encod...


file_get_contents和curl函数的使用方法

file_get_contents和curl函数的使用方法
有些主机服务商把php的allow_url_fopen选项是关闭了,就是没法直接使用file_get_contents来获取远程web页面的内容。那就是可以使用另外一个函数curl。 下面是file_get_contents和curl两个函数同样功能的不同写法 file_get_contents函数的使用示例: 换成curl函数的使用示例: 利用function_exists函数来判断php是否支持一个函数可以轻松写出下面函数 其实上面的这个函数还有待商榷,如果你的主机服务商把f...


PHP生成GUID算法

PHP生成GUID算法
类库 PHP <?php // guid.php class System { function currentTimeMillis() { list($usec, $sec) = explode(" ",microtime()); return $sec.substr($usec, 2, 3); } } class NetAddress { var $name = 'localhost'; var $ip = '127.0.0.1'; function getHost($coumputer_name, $ip) { // static $address = new NetAddress(); ...


PHP中获取文件扩展名的几种方法

PHP中获取文件扩展名的几种方法
第一种: function get_extension($file) { substr(strrchr($file, '.'), 1); } 第二种: function get_extension($file) { return substr($file, strrpos($file, '.')+1); } 第三种: function get_extension($file) { return end(explode('.', $file)); } 第四种: function get_extension($file) { $info = pathinfo($file); return $info['extension']; } 第五...


PHP截取前N个汉字作为文章摘要

PHP截取前N个汉字作为文章摘要
需要用到的函数:mb_substr ( string $str , int $start , int $length , string $encoding )。$str为处理的字符串,$start为起始位置,$length为长度,$encoding为编码。 strip_tags()函数可以去除 HTML、XML 以及 PHP 的标签。语法:strip_tags($string,$allow)。$string为要处理的字符串,$allow为允许的标签。 截取摘要使用上面的组合就可以解决,例如: mb_substr(strip_tags($content),0,70,'utf-8')...


21段常用PHP代码

21段常用PHP代码
1. PHP可阅读随机字符串 此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。 /************** *@length - length of random string (must be a multiple of 2) **************/ function readable_random_string($length = 6){ $conso=array("b","c","d","f","g","h","j","k","l", "m","n","p","r","s","t","v","w","x","y","z"); $vocal=array("a","e","i","o","u"); $pa...


50点提高PHP编程效率

50点提高PHP编程效率
0、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 PS:在单引号中,PHP不会自动搜寻变量、转义字符等,因此效率上快很多。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会...