写一点关于安全的东西:)

一、双向消息加密

RSA,非对称加密算法。

DES,AES,对称加密算法。

用于服务端和客户端通讯。

客户端向服务端发送数据,采用RSA算法,使用公钥进行加密。服务端使用私钥进行解密。

服务端向客户端发送数据,采用DES或AES算法进行加密。客户端进行解密。

二、用户登录验证

谷歌验证 (Google Authenticator)

用于用户登录二次验证。

在centos下通过php操作tinyproxy的状态

一、通过php中的system命令来操作tinyproxy

system("service tinyproxy restart");

二、修改apache用户为tinyproxy

vim /etc/httpd/conf/httpd.conf

三、修改subsys文件夹的权限

chmod 777 /var/lock/subsys

四、重启apache服务器

service httpd restart

备注:

1.关于tinyproxy的使用,可以参考:CENTOS 下安装配置 TinyProxy

2.关于centos下php运行环境的搭建,可以参考:在CentOS上搭建PHP服务器环境

CENTOS 下安装配置 TinyProxy

TinyProxy是个非常便利,很容易架设的HTTP、HTTPS代理。

1.安装TinyProxy

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum update
yum install tinyproxy

2.配置TinyProxy

vim /etc/tinyproxy/tinyproxy.conf

Port 8888 //预设是8888 Port,你可以更改成你自己的Port
Allow 127.0.0.1 //将127.0.0.1改成你自己的IP
//例如你的IP 是1.2.3.4,你改成Allow 1.2.3.4,那只有你才可以连上这个Proxy
//若你想任何IP都可以连到Proxy在Allow前面打#注释
3.启动TinyProxy

service tinyproxy start

m3u8格式文件解析

public class VideoUtil {
    /**
     * 根据电影的m3u8_url解析出ts_url即xxx.ts形式url为元素的集合
     *
     * @param m3u8_url m3u8文件地址
     * @return 返回ts_url集合
     */
    public static ArrayList m3u8Parser(String m3u8_url) {
        try {
            ArrayList list_ts = new ArrayList();
            URL url = new URL(m3u8_url);
            HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
            InputStream in = urlConn.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            String line = "";
            while ((line = reader.readLine()) != null) {
                if (line.startsWith("#")) {
                    //这里是Metadata信息
                } else if (line.length() > 0) {
                        //这里是一个指向的视频流路径 ,可能是绝对地址,也可能是相对地址
                    if (line.startsWith("http")) {
                        //如果以http开头,一定是绝对地址了
                        list_ts.add(line);
                    } else {
                        //不以http开头,是相对地址,需要进行拼接。
                        String m3u8_pre = m3u8_url.substring(0, m3u8_url.lastIndexOf("/") + 1);
                        list_ts.add(m3u8_pre + line);
                    }
                }
            }
            in.close();
            return list_ts;

        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}

Android自定义ToggleButton

1、设置自定义背景,设置on、off文案都为空

<ToggleButton
    android:id="@+id/lockBtn"
    android:background="@drawable/lock_me"
    android:textOn=""
    android:textOff=""/>

2、自定义背景文件

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true"
        android:drawable="@drawable/lock_me_on" /> <!-- pressed -->
    <item android:drawable="@drawable/lock_me_off" /> <!-- default/unchecked -->
</selector>

3、按钮的监听

mLockBtn.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        if (mLockBtn.isChecked()) {
            //锁定
            mLockFlag = true;
            mSeekBar.setEnabled(false);
            mTopView.setVisibility(View.GONE);
            mBottomView.setVisibility(View.GONE);
        } else {
            //取消锁定
            mLockFlag = false;
            mSeekBar.setEnabled(true);
            mTopView.setVisibility(View.VISIBLE);
            mBottomView.setVisibility(View.VISIBLE);
        }
    }
});

PHP获取请求来源IP

一、php获取请求来源IP并写入数据库

<?php

//获取客户端IP地址
$ip=$_SERVER["REMOTE_ADDR"];

//获取客户端参数
$user=$_GET["user"];

//获取本机时间
$time = date('Y-m-d H:i:s');

//连接数据库
$coon=mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db("ip",$coon);

//操作数据库
$sql="INSERT INTO user(user,ip,time) VALUES('$user','$ip','$time') ON DUPLICATE KEY UPDATE ip='$ip',time='$time'";
mysql_query($sql);

//关闭数据库
mysql_close();

//输出信息
echo "ip:$ip user:$user time:$time";
?>

继续阅读PHP获取请求来源IP