:

PHP 通用 API 接口数字签名算法

发布于:2018-5-3 16:41 作者:song100e 浏览:171 分类:PHP
function getSignature($params, $secret='GoCkn^*poqLyhp5h'){
        $str = '';  //待签名字符串
        //先将参数以其参数名的字典序升序进行排序
        ksort($params);
        //遍历排序后的参数数组中的每一个key/value对
        foreach ($params as $k => $v) {
            //为key/value对生成一个key=value格式的字符串,并拼接到待签名字符串后面
            $str .= "$k=$v";
        }
        //将签名密钥拼接到签名字符串最后面
        $str .= $secret;
        //通过md5算法为签名字符串生成一个md5签名,该签名就是我们要追加的sign参数值
        return md5($str);
}

标签: sign

0

Celery进程定时监测

发布于:2018-4-28 9:54 作者:song100e 浏览:162 分类:Linux
#!/bin/sh

#Set param
if [ -n "$1" ];then
opt=$1
else
echo "opt is required, start or stop.";
exit;
fi

PYTHON_PATH="/usr/local/python2/bin/python"
ROOT_PATH="/data/www/vhosts/object_name/src"
CELERY_SCRIPT="/usr/bin/celery -A tasks worker --loglevel=debug --logfile=/data/www/logs/object_name/celery.log"

if [ $opt == "start" ];then
	echo "#######################"
	echo `date +%Y-%m-%d%%%H%M%S`
	programpath="${PYTHON_PATH} ${CELERY_SCRIPT}"
	n=`ps -ef |grep "${programpath}" |grep -v grep | awk '{print $2}' | wc -l`

	sleep 2
	if [ "$n" -le 0 ];then
			echo "run celery:${n}"
			cd $ROOT_PATH && $PYTHON_PATH $CELERY_SCRIPT &
	else
			echo "Celery exist:${n}"
	fi

	sleep 1
fi

if [ $opt == "stop" ];then
for line in `ps -ef | grep "${PYTHON_PATH} ${CELERY_SCRIPT}" |grep -v grep | awk '{print $2}'`
do
    kill $line
done
fi

标签: Celery

0

MySQL 用户添加与授权

发布于:2018-4-17 10:57 作者:song100e 浏览:263 分类:MySQL
一,添加用户
命令: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 
说明: username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器. 
例子:CREATE USER 'qingsong'@'%' IDENTIFIED BY '123456'; 

二,授权
命令: GRANT privileges ON databasename.tablename TO 'username'@'host' 
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*. 
例子: 
1,GRANT SELECT, INSERT ON test.user TO 'qingsong'@'%'; 
2,GRANT ALL ON *.* TO 'qingsong'@'%'; 

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令: 
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION; 

三.设置与更改用户密码 
命令: SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
  如果是当前登陆用户用SET PASSWORD = PASSWORD("newpassword"); 
例子: SET PASSWORD FOR 'qingsong'@'%' = PASSWORD("123456"); 

四.撤销用户权限 
命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host'; 
例子: REVOKE SELECT ON *.* FROM 'qingsong'@'%'; 

五.删除用户 
命令: DROP USER 'username'@'host'; 

0

NoSQL类型介绍及适用场景

发布于:2018-4-8 15:44 作者:song100e 浏览:219 分类:NoSQL

NoSQL纪元

当下已经存在很多的NoSQL数据库,比如MongoDB、Redis、Riak、HBase、Cassandra等等。每一个都拥有以下几个特性中的一个:

  • 不再使用SQL语言,比如MongoDB、Cassandra就有自己的查询语言
  • 通常是开源项目
  • 为集群运行而生
  • 弱结构化——不会严格的限制数据结构类型

NoSQL数据库的类型

NoSQL可以大体上分为4个种类:Key-value、Document-Oriented、Column-Family Databases以及 Graph-Oriented Databases。

阅读全文>>

标签: NoSQL

0

使用 Yii2 的 Cli 模式添加定时任务

发布于:2018-3-31 16:41 作者:song100e 浏览:233 分类:Yii2
最近接到一项任务,定时获取主机列表并同步到系统中,于是考虑使用crontab定时执行php脚本,顺便也把 crontab 复习一下。

根据官方手册,cli的入口脚本在根目录下

阅读全文>>

标签: crontab

0

常见web安全及其对策

发布于:2018-3-27 16:25 作者:song100e 浏览:189 分类:WEB
注入攻击(执行恶意SQL):
1,避免被攻击者猜测到表名等数据库结构信息。
2,消毒(匹配关键字如 drop、delete、set等)。
3,绑定参数(如 PDO 的 prepare 模式等)。

XSS (跨站点脚本攻击):
1,消毒(转义HTML中的危险字符如:<>)
2,设置 HttpOnly 属性防窃取 Cookie。

CSRF (跨站点请求伪造):以合法用户身份进行非法操作
1,表单随机数 Token
2,验证码
3,Referer check

阅读全文>>

0

【转载】为什么说 MVC 不是设计模式

发布于:2018-3-10 14:47 作者:song100e 浏览:244 分类:设计模式

0

Top 命令数据含义

发布于:2018-2-28 9:45 作者:song100e 浏览:256 分类:Linux

linux_top.PNG


top命令执行结果的前5行为系统整体的统计信息,其所代表的含义如下(按Q退回命令行)。

第1行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。

第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。

第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。其中数据均为CPU数据并以百分比格式显示,例如“97.1 id”意味着有97.1%的CPU处理器资源处于空闲。

第4行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。

第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。

标签: TOP

0

编译安装小结

发布于:2018-2-27 13:54 作者:song100e 浏览:241 
一般来讲,在安装软件时,如果能通过 Yum 软件仓库来安装,就用 Yum 方式;反之则去寻找合适的 RPM 软件包来安装;如果是在没有资源可用,那就只能使用源码包来安装了。
有些系统最小化安装时没有包含一些工具包,可以通过 yum 安装这些工具软件:
[root@qingsong ~]# yum install tree telnet dos2unix sysstat lrzsz nc nmap -y
还可以安装某些安装包组
[root@qingsong ~]# yum groupinstall "Development Tools"

阅读全文>>

0

Nginx日志每天切割

发布于:2018-2-26 11:00 作者:song100e 浏览:223 分类:Linux
    所谓自动分割 Nginx 日志文件,就是让 Nginx 每天生成一个日志文件,而不是将Nginx所有的运行日志都放置在一个文件中,这样每个日志文件都相对较小,定位问题也更容易。

阅读全文>>

标签: logs

0

«... 3 4 5 6 7 8 9 10 11 12 13 ... »