WEB - CSS3中的Media查询


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<link rel="stylesheet" media="(max-width: 640px)" href="max-640px.css">
<link rel="stylesheet" media="(min-width: 640px)" href="min-640px.css">
<link rel="stylesheet" media="(orientation: portrait)" href="portrait.css">
<link rel="stylesheet" media="(orientation: landscape)" href="landscape.css">
<style>
@media (min-width: 500px) and (max-width: 600px) {
h1 {
color: fuchsia;
}

.desc:after {
content:" In fact, it's between 500px and 600px wide.";
}
}
</style>

当浏览器宽度介于 0 像素和 640 像素之间时,系统将会应用 max-640px.css。
当浏览器宽度介于 500 像素和 600 像素之间时,系统将会应用 @media。
当浏览器宽度为 640 像素或大于此值时,系统将会应用 min-640px.css。
当浏览器宽度大于高度时,系统将会应用 landscape.css。
当浏览器高度大于宽度时,系统将会应用 portrait.css。

Nginx主动屏蔽恶意攻击


经过nginx的日志排查,发现web服务器每天都要遭受大量的攻击啊。
虽然CDN可以拦截恶意流量,就算是多一重保障吧。主动让 Nginx 屏蔽掉攻击。

1.将sql注入相关的代码屏蔽掉

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
## black SQL injections
set $black_sql_injections 0;
if ($query_string ~ "union.*select.*\(") {
set $black_sql_injections 1;
}
if ($query_string ~ "union.*all.*select.*") {
set $black_sql_injections 1;
}
if ($query_string ~ "concat.*\(") {
set $black_sql_injections 1;
}
if ($black_sql_injections = 1) {
return 403;
}

## black file injections
set $black_file_injections 0;
if ($query_string ~ "[a-zA-Z0-9_]=http://") {
set $black_file_injections 1;
}
if ($query_string ~ "[a-zA-Z0-9_]=(\.\.//?)+") {
set $black_file_injections 1;
}
if ($query_string ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+") {
set $black_file_injections 1;
}
if ($black_file_injections = 1) {
return 403;
}

2.还需要屏蔽掉相关脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
## black common exploits
set $black_common_exploits 0;
if ($query_string ~ "(<|%3C).*script.*(>|%3E)") {
set $black_common_exploits 1;
}
if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") {
set $black_common_exploits 1;
}
if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") {
set $black_common_exploits 1;
}
if ($query_string ~ "proc/self/environ") {
set $black_common_exploits 1;
}
if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)") {
set $black_common_exploits 1;
}
if ($query_string ~ "base64_(en|de)code\(.*\)") {
set $black_common_exploits 1;
}
if ($black_common_exploits = 1) {
return 403;
}

3.保存为black.conf,在nginx.conf中引入

include black.conf

4.nginx -t

然后测试配置文件是否正确

5.nginx -s reload

现在Nginx就能屏蔽恶意请求了。