linux grep命令详解

简介

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

grep常用用法

[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!

继续阅读“linux grep命令详解”

如何配置Nginx防止SQL注入、XSS攻击?

SQL 注入、XSS 攻击会绕过 CDN 缓存规则直接回源请求,造成 PHP、MySQL 运算请求越来越多,服务器负载飙升。在日志里可以看到几乎大部分都是 GET/POST 形式的请求,虽然 waf 都完美的识别和拦截了,但是因为是 Nginx 层面应对措施,所以还是会对服务器负载形成一定的压力,最有效的办法就是在 Nginx 里加入了防止 SQL 注入、XSS 攻击的配置。具体做法如下:
将下面的 Nginx 配置文件代码放入到对应站点的.conf 配置文件[server]里,然后重启 Nginx 即可生效。

继续阅读“如何配置Nginx防止SQL注入、XSS攻击?”

如何使用iptables禁止/解封某个IP访问?

在 Linux 下,使用 iptables 来维护 IP 规则表。要封停或者是解封 IP,其实就是在 IP 规则表中对入站部分的规则进行添加操作。
要封停一个 IP,使用下面这条命令:
iptables -I INPUT -s ***.***.***.*** -j DROP

要解封一个 IP,使用下面这条命令:
iptables -D INPUT -s ***.***.***.*** -j DROP

参数-I 是表示 Insert(添加),-D 表示 Delete(删除),INPUT 表示入站,***.***.***.*** 表示要封停的 IP,DROP 表示放弃连接。
比如现在要将 123.44.55.66 这个 IP 封杀,就输入:
iptables -I INPUT -s 123.44.55.66 -j DROP
要解封则将-I 换成-D 即可,前提是 iptables 已经有这条记录。
要添加 IP 段到封停列表中,使用下面的命令:
iptables -I INPUT -s 121.0.0.0/8 -j DROP
其实也就是将单个 IP 封停的 IP 部分换成了 Linux 的 IP 段表达式。

laravel配置路由出现404解决办法

问题分析
一般出现这种情况的都是apache/nginx配置出现问题

问题解决
nginx解决办法
在location里面加上 try_files $uri $uri/ /index.php?$query_string;
如果配置文件中存在 try_files $uri $uri/ =404;需要将它注释掉或者删掉,否则会报错
nginx配置(我是在域名里面进行配置的)

server { 
listen 80; 
server_name www.notenet.cn; 
root /data/www/laravel/public/; 
index index.html index.php index.htm; 
location / { 
#try_files $uri $uri/ =404; 
try_files $uri $uri/ /index.php?$query_string; 
} 
location ~ .*\.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Linux环境下iptables查看、添加、删除和修改命令如何用?

1iptables 查看命令:

iptables -nL –line-number

-n 不对 ip 地址进行反查,加上这个参数显示速度会快很多;

-L 查看当前表的所有规则,默认查看的是 filter 表,如果要查看 NAT 表,可以加上-t NAT 参数;

-line-number 显示规则的序列号,这个参数在删除或修改规则时会用到。

继续阅读“Linux环境下iptables查看、添加、删除和修改命令如何用?”