使用HTTP PUT方法上传Webshell

3年前 (2014-10-31) | 1664 VIEWS | 0 COMMENTS

HTTP PUT方法上传Webshell应该算是非常容易,非常幸运的了,找到一个有PUT方法的Web服务,真是爽爆了。不过,改怎么上传呢?

1、 PUT一个txt文件

2、MOVE到文件

3、Finished

PHP生成随机唯一HASH值

3年前 (2014-10-19) | 3719 VIEWS | 0 COMMENTS

网上有很多种方法获取随机唯一的HASH值,但是大同小异:

1、先获取随机的唯一字符串

2、进行MD5或者sha1算HASH值

一个项目要用到hash值,就去网上找了找,却发现PHP有一个函数能直接生成唯一字符串——uniqid(),通过使用这个函数,再加上自己生成的随机数(防止被破解),更具有唯一性且不易被猜解。主要考虑问题如下:

1、随机的效率与随机性:rand和mt_rand函数的选择,首选mt_rand,效率高,随机性好;

2、随机次数:选择5次,本来unniqid就是唯一的,加上随机的可以只是增强安全性,5次足矣

3、md5还是sha1:都能生成唯一的hash值,sha1占用资源可能高点,但是微乎其微,如果考虑数据库存储的小写,可以使用md5(32位长度)

 

 

Lua如何判断Table为空

3年前 (2014-10-17) | 1534 VIEWS | 0 COMMENTS

本文转自:关于lua中table判空的问题(判断是否是空的table 即{})(http://my.oschina.net/jabbawockeez/blog/188070)

 

lua-nginx在openresty中使用socket实例

3年前 (2014-10-12) | 4173 VIEWS | 评论已关闭

Lua语言太强大了,至少我是这样觉得的。原始的Lua没有Socket功能,需要使用者下载Lua socket组件,require一下才行。而lua-nginx模块自带了socket功能,而且是100%的非阻塞模式,再次感谢作者章亦春。

使用socket功能很简单,只有几个简单的方法即可主要就是有TCP和UDP的区别。(这里只是lua文件,其他请见Hello world 文章)

完美运行:

whois

lua-nginx在Openresty和Tengine中代码片段

3年前 (2014-10-12) | 1891 VIEWS | 评论已关闭

文章的开头,非常感谢章亦春能够将这么强大的语言整合到Nginx中,非常感谢。

看了lua-nginx在github上的文档,有点复杂,学习中还是自己总结一下用法的好,一边测试,一边总结,总有会用到的时候。

一、常量

二、函数

Openresty第一个lua写的Hello World

3年前 (2014-10-11) | 2679 VIEWS | 评论已关闭

Openresty提供了丰富的接口和变量给Lua,开发者可以充分利用Lua语言特性和这些接口进行高效率开发。万事开头难,但是对于编程来说能写出Hello world就已经算是成功一半了。

1、安装openresty

2、配置nginx

3、新建 /opt/lua/bin/test.lua

4、访问即可

Openresty-hello-world

Openresty服务的启动、停止与重启控制

3年前 (2014-10-11) | 12492 VIEWS | 评论已关闭

Openresty是一款出色的Nginx包,集成了很多实用的功能,特别是Lua功能。由于Openresty只提供了源代码包,没有封装成RPM包,所以在Centos6下要进行服务的启动、停止与重启,还需要使用命令。

Openresty默认安装路径:/usr/local/openresty

当然,也可以写一个脚本(来源http://www.cnblogs.com/kgdxpr/p/3550633.html),下次就可以直接使用service直接控制了。

 

Centos6下openresty的编译安装

3年前 (2014-10-11) | 2982 VIEWS | 评论已关闭

Openrestry是非常出色的nginx发行版本,最大的特色是充分利用Lua扩展,开发者可以使用Lua扩展做非常多的事情。但是Openresty没有RPM包,只能自己手动编译安装。

安装过程很简单,官方也给出了编译方法,我这里采用了yum方式安装需要的组件方法来编译,编译过程如下:

 

每个人的系统组件可能不同,我这里直接通过了,如果有不通过的,可能是因为我以前安装过其他的组件。

默认编译安装的路径为   /usr/local/openresty/  ,默认的编译选项如下:

Nginx 命令总结

3年前 (2014-10-11) | 1482 VIEWS | 评论已关闭

Nginx服务具有简单的命令参数,进行排错等其他处理。平常运行过程可以使用Nginx自带的命令进行测试、管理,更方便日常维护工作。

nginx version: nginx/1.0.15
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
-?,-h : this help   帮助
-v : show version and exit    简单版本信息
-V : show version and configure options then exit    版本信息和编译信息
-t : test configuration and exit    只测试配置文件是否正确
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload    向Nginx发送命令
-p prefix : set prefix path (default: /usr/share/nginx/)    设置启动Nginx的命名前缀
-c filename : set configuration file (default: /etc/nginx/nginx.conf)    自定义配置文件
-g directives : set global directives out of configuration file    设置全局指令