小左闲谈

Centos常用命令记录之:iptables

当前位置:首页 » 笔记
In 笔记  @2018-02-01

Centos防火墙的设置,在Centos 7之前的版本中大量都是在使用iptables,项目服务器的运维上急需相关知识;

  • 首先,记住iptables的配置文件的位置/etc/sysconfig/iptables,修改前最好备份一下;

iptables相关命令:

  • 查看现有的iptables规则:
service iptables status
Table: filter
Chain INPUT (policy DROP)
num  target     prot opt source           destination         
1    ACCEPT     tcp  --  0.0.0.0/0        0.0.0.0/0       state NEW tcp dpt:8090 
2    ACCEPT     tcp  --  0.0.0.0/0        0.0.0.0/0       state NEW tcp dpt:3306 
3    ACCEPT     tcp  --  0.0.0.0/0        0.0.0.0/0       state NEW tcp dpt:80 
4    ACCEPT     tcp  --  0.0.0.0/0        0.0.0.0/0       state NEW tcp dpt:22 
5    ACCEPT     tcp  --  0.0.0.0/0        0.0.0.0/0       state NEW tcp dpt:21 
6    ACCEPT     icmp --  0.0.0.0/0        0.0.0.0/0       icmp type 255 
7    ACCEPT     all  --  127.0.0.1        127.0.0.1           
8    ACCEPT     all  --  0.0.0.0/0        0.0.0.0/0       state RELATED,ESTABLISHED 

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination
  • 添加/插入规则
#使用A(ADD)命令在规则的结尾添加一条
iptables -A
#使用I(INSERT)命令在指定位置插入一条
iptables -I
  • 删除现有的规则,删除上面INPUT表中的序号为1的规则:
iptables -D INPUT 1
  • 保存规则
service iptables save
  • 重载规则
service iptables restart

这些就是基本的iptables操作了。

标签: , , , ,   评论: 抢沙发 

Jquery校验中国身份证号码是否正确

当前位置:首页 » 笔记
In 笔记  @2018-01-15

在项目中使用表单时经常会涉及到身份证号码是否正确的校验,下面看看应该中国二代身份证号码应该怎么用Jquery校验呢?

二代身份证校验码的计算方法

二代身份证由17位数字和一位校验码组成,那么校验方法是怎样的呢?

  1. 将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。
  2. 将这17位数字和系数相乘的结果相加。
  3. 用加出来和除以11,得到余数
  4. 余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X-9-8-7-6-5-4-3-2。

使用Jquery校验身份证

function check_id(value){
    var arrExp = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];//加权因子  
    var arrValid = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2];//校验码  
    if(/^\d{17}\d|x$/i.test(value)){   
        var sum = 0, idx;  
        for(var i = 0; i < value.length - 1; i++){  
            // 对前17位数字与权值乘积求和  
            sum += parseInt(value.substr(i, 1), 10) * arrExp[i];  
        }  
        // 计算模(固定算法)  
        idx = sum % 11;  
        // 检验第18为是否与校验码相等  
        return arrValid[idx] == value.substr(17, 1).toUpperCase();  
    }else{  
        return false;  
    }  
}

标签: ,   评论: 抢沙发 

百度地图(BD-09)坐标系和高德(GCJ-02)坐标系的相互转换(PHP版)

当前位置:首页 » 笔记
In 笔记  @2017-04-28

简单介绍一下常见的地理经纬度坐标系:

WGS-84坐标系:

是国际标准坐标系,GPS坐标(Google Earth使用、或者GPS模块)。

GCJ-02坐标系:

火星坐标系,GCJ-02是由中国国家测绘局制订的地理信息系统的坐标系统。它是一种对经纬度数据的加密算法,即加入随机的偏差。国内出版的各种地图系统(包括电子形式),出于国家安全考虑,必须至少采用GCJ-02对地理位置进行首次加密。国内腾讯地图和高德地图都采用了GCJ-02火星坐标系。

BD-09坐标系:

百度坐标系,也就是在GCJ-02的基础上,进行了BD-09二次加密措施生成的一种坐标系。

GCJ-02(火星,高德) 坐标和BD-09(百度) 坐标相互转换的函数PHP版本:

    //BD-09(百度)坐标转换成GCJ-02(火星,高德)坐标
    //@param bd_lon 百度经度
    //@param bd_lat 百度纬度
   function bd_decrypt($bd_lon,$bd_lat){
    $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
    $x = $bd_lon - 0.0065;
    $y = $bd_lat - 0.006;
    $z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);
    $theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);
    // $data['gg_lon'] = $z * cos($theta);
    // $data['gg_lat'] = $z * sin($theta);
    $gg_lon = $z * cos($theta);
        $gg_lat = $z * sin($theta);
        // 保留小数点后六位
        $data['gg_lon'] = round($gg_lon, 6);
        $data['gg_lat'] = round($gg_lat, 6);
    return $data;
    }

    //GCJ-02(火星,高德)坐标转换成BD-09(百度)坐标
    //@param bd_lon 百度经度
    //@param bd_lat 百度纬度
    function bd_encrypt($gg_lon,$gg_lat){
        $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
        $x = $gg_lon;
        $y = $gg_lat;
        $z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);
        $theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);
        $bd_lon = $z * cos($theta) + 0.0065;
        $bd_lat = $z * sin($theta) + 0.006;
        // 保留小数点后六位
        $data['bd_lon'] = round($bd_lon, 6);
        $data['bd_lat'] = round($bd_lat, 6);
        return $data;
    }
标签: , , , , ,   评论: 抢沙发