用户和工作组管理

1.useradd:添加系统用户,useradd -d /home/test -s /sbin/nologin
2.userdel:删除用户,可以加上参数删除用户的所有文件
3.usermod:修改用户基本信息
4.groupadd:添加组
5.groupdel:删除组
6.groupmod:修改组
7.passwd:修改用户密码,同时用户可以修改自己的密码
8.su:切换用户
9.chage:修改帐号和密码的有效期限,-l查看用户的当前设置
10.id:查看用户的id及组id

进程和作业管理

1.w:谁登录系统
2.watch:循环执行命令
3.service :管理系统命令,命令在/etc/init.d下
4.kill:常与ps一起使用,根据进程号杀死
5.skill:冻结进程
6.pkill:根据进程名称杀死
7.killall:根据进程我杀死一组
8.ps:列出进程
9.crontab:循环的定时任务
10.at:只执行一次的定时任务

系统安全

1.last
查看登录成功的用户登录信息
2.lastb
查看登录失败的用户登录信息,就是last bad login
3.lastlog
查看所有用户最后一次的登录信息
4.sudo
切换到其他用户执行命令:sudo -u mysql ll .

thinkphp简单学习

1.使用D方法时,找不到Model:原因是文件名没有规范,xxx.class.php
2.ThinkPHP在部署完源码后,才会生成MVC目录结构
3.如果没有写Model,使用M方法或D方法,只要参数名与数据库表名相同,一样有映射:$user->M(‘User’);直接映射gd_User表;
4.数据库连接字符串处写上前缀后,在使用时,不再需要:$tableName=”User”;
5.

正则表达式与通配符的区别

Explain 1:
1、正则表达式是用来匹配字符串的,这个就不解释了
2、通配符是用来通配的,也就是shell在做Pathname Expansion时用到的

Explain 2:
通配符,说白了一般只用于文件名匹配, 它是由shell解析的。所谓的系统level的概念非常含糊,什么是系统level的?我们知道shell是一个命令解释器,它是内核的外壳,用于完成 操作系统使用者与内核的沟通,因此,通配符实际上就是一个shell解释器去解析的符号,它的特殊涵义是由shell这个命令解释器赋予的。通配符的英文 名是wildcard,就是万用牌的意思,它相当简单,一般来说,*nix系统上面的shell大多将三个特殊符号当作通配符,它们是 * ? […], 其中 * 表示匹配任意长度的任意字符; ? 表示匹配一个任意字符, 而[…]则表示匹配括号中列出的字符中的任意一个。

其次。什么是正则表达式(regular expression, 缩写是regex.)?从简单的角度去理解,你可以把正则表达式看成是一种字符串匹配模式标准。这里最重要的就是,它本身,只是一种业界流行的标准,或者说,它是相当于对字符串匹配模式的一种规定。这种规定是随着相关的工具软件的发展而自称体系的“不成文规矩”。
— 举个例子好了。假设首先有一种工具软件能够根据“模式(pattern)”搜索字符串,这个工具非常流行,以至于后续的工具软件都效仿那个工具软件定义的模式规则来匹配字符串 — 慢慢的就形成标准,而且相对来说是一种不成文的规矩.
所以,正则表达式是什么? — 它是一种对字符串匹配模式的描述和规定 — 并且是一种标准。而不同的工具程序,也就是egrep、sed、awk这样的程序,以各种程度来支持这种字符串搜索模式,它们就是标准的实现,你可以在这种软件中使用正则表达式这种“匹配模式标准”。 — 明白?

所以,在什么地方使用通配符?答案是只要是shell命令行或者shell脚本中,你都可以使用通配符;
在什么地方使用正则表达式?当你使用能够支持正则表达式的工具软件进行字符串处理时你就可以使用正则表达式。你还可以在支持正则表达式的语言中使用正则表达式,比如perl, java… C++中也有专门用于支持正则表达式的库。正则表达式总是和“使用什么工具软件或者语言”相关。相对来说,不同的工具和语言对正则表达式的支持程度不同,*nix里面将这些工具软件的对正则表达式的支持分类,因此也就有了“基础正则表达式”和“扩展正则表达式”。

不同的工具对正则表达式的支持,其实有些许的微妙不同;但是总体来说,使用正则还是基本按照标准来的。这些不同的工具支持程度,被称之为“正则流派”。而 工具软件中支持这种匹配模式的那部分代码,称之为“正则引擎”。由于perl对正则表达式的支持非常到位,其正则引擎也比较优秀,因此perl语言算是正 则的一大流派,目前大部分对正则的支持都或多或少参考了perl语言中的标准。
分类: linux与shell编程

XSS,CSRF

XSS:跨站脚本攻击(Cross Site Scripting),因为与CSS重名,特改名为XSS
恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

CSRF:跨站请求伪造(Cross Site Request Forgery)。
当恶意用户想管理员发送包含CSFR的邮件,骗取管理员访问http://test.com/csrf.php,在这个恶意网页中只要包含这样的html语句就可以利用让管理员在不知情的情况下删除帖子了


这个利用了img的src可以跨域请求的特点,这种情况比较少,因为一般网站不会利用get请求修改资源信息