当前位置:  编程技术>php
本页文章导读:
    ▪php curl获取指定IP所有信息的API代码      分享下用curl获取指定IP下所有信息的api代码。 有关curl的相关内容,可以参考以下文章: php curl上传文件的简单例子 php curl post的简单示例 php curl应用实例分析 php curl用法的实例代码 php使用cu.........
    ▪php增强型mhash函数的实现代码      在程序中用到了php的加密函数mhash,报错: Fatal error : Call to undefined function mhash() 以下提供二种解决方法,供参考。 1,导入php_mhash.dll扩展文件,除此之外还要导入 libmhash.dll (mhash 库的载入依.........
    ▪php中防止ddos恶意攻击的方法参考      我们知道拒绝服务攻击,即DDOS攻击会导致带宽被占用,让正常用户无法访问网站。 这里提供一个简单的参考方法,修改php.ini文件   1) "disable_functions"改成gzinflate,默认是放空 2) ”allow_url_fop.........

[1]php curl获取指定IP所有信息的API代码
    来源: 互联网  发布时间: 2013-12-24

分享下用curl获取指定IP下所有信息的api代码。

有关curl的相关内容,可以参考以下文章:
php curl上传文件的简单例子
php curl post的简单示例
php curl应用实例分析
php curl用法的实例代码
php使用curl判断远程文件是否存在的代码
php使用curl伪造IP来源的代码
php curl 学习总结

先充充电,然后看下面的代码。

代码如下:

<?php
/**
* curl取指定IP信息的API代码
* edit by www.
*/
function getIpInfo($ip,$timeout=15) {
    if(!function_exists('curl_init') or !function_exists('simplexml_load_string')) return false;
    $ch = curl_init("http://www./ip_query2.php?ip={$ip}&timezone=true");
    $options = array(
        CURLOPT_RETURNTRANSFER => true,
    );
    curl_setopt_array($ch,$options);
    $res = curl_exec($ch);
    curl_close($ch);
    if($xml = simplexml_load_string($res)) {
        $dt = array();
        foreach ($xml->Location->children() as $key=>$item)  {
            $dt[$key] = strtolower($item);
        }
        return $dt;
    } else {
        return false;
    }
}
$current_Ip_Info = getIpInfo('61.164.140.55');
var_dump($current_Ip_Info);  

/*
返回内容:
array(13) {
  ["Ip"]=>
  string(13) "61.164.140.55"
  ["Status"]=>
  string(2) "ok"
  ["CountryCode"]=>
  string(2) "cn"
  ["CountryName"]=>
  string(5) "china"
  ["RegionCode"]=>
  string(2) "02"
  ["RegionName"]=>
  string(8) "zhejiang"
  ["City"]=>
  string(5) "ruian"
  ["ZipPostalCode"]=>
  string(0) ""
  ["Latitude"]=>
  string(7) "27.7814"
  ["Longitude"]=>
  string(7) "120.628"
  ["TimezoneName"]=>
  string(14) "asia/chongqing"
  ["Gmtoffset"]=>
  string(5) "28800"
  ["Isdst"]=>
  string(1) "0"
}
*/
?>

    
[2]php增强型mhash函数的实现代码
    来源: 互联网  发布时间: 2013-12-24

在程序中用到了php的加密函数mhash,报错: Fatal error : Call to undefined function mhash()

以下提供二种解决方法,供参考。
1,导入php_mhash.dll扩展文件,除此之外还要导入 libmhash.dll (mhash 库的载入依赖这个文件) ,
在 Apache 的配置文件 Httpd.conf 中加载   LoadFile C:/php/libmhash.dll” 。

2,使用自定义的mhash增强函数。

<?php
/**
* 自定义的mhash增强函数
* edit by www.
*/
function hmac_md5($key, $data)
{
    if (extension_loaded('mhash'))
    {
        return bin2hex(mhash (MHASH_MD5, $data, $key));
    }

    $b = 64;
    if (strlen($key) > $b)
    {
        $key = pack('H*', md5($key));
    }
    $key  = str_pad($key, $b, chr(0x00));
    $ipad = str_pad('', $b, chr(0x36));
    $opad = str_pad('', $b, chr(0x5c));

    $k_ipad = $key ^ $ipad;
    $k_opad = $key ^ $opad;

    return md5($k_opad . pack('H*', md5($k_ipad . $data)));
}
?>

代码说明:
hmac_md5 函数中的参数$key和$data对应mhash原有的3,2参数。
这两个方法都可以顺利使用php 的mhash 加密函数。


    
[3]php中防止ddos恶意攻击的方法参考
    来源: 互联网  发布时间: 2013-12-24

我们知道拒绝服务攻击,即DDOS攻击会导致带宽被占用,让正常用户无法访问网站。

这里提供一个简单的参考方法,修改php.ini文件
 

1) "disable_functions"改成gzinflate,默认是放空
2) ”allow_url_fopen“设为Off
3) php_sockets.dll 把这个模块打开

重启使配置生效,一般可以抵御掉DDOS攻击。

更完善些的预防方法,可以参考文章:
php下ddos攻击与防范代码

如果以上方法抵挡不住的话,还可以通过IP策略、防火墙等手段阻止恶意攻击。

相关内容,可以参考如下的文章:
1,IPSEC安全策略配置
批量开启IPSEC端口的批处理脚本
批处理设置IPsec安全策略的方法介绍
命令行下IPSec封锁端口的方法详解
win2003中需要用ipsec封锁的恶意端口
win2003 IPsec安全策略之关闭端口

2,防火墙配置
CentOS防火墙开启、关闭与开放指定端口的方法
iptables防火墙禁止某些IP访问ssh服务
linux中iptables防火墙配置实例分享
centos中iptables防火墙的配置方法
iptables 防火墙配置一例


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3