前言:
XSS
攻击是网络世界中一种常见的安全威胁,其基本原理大多数开发者都有所了解,因此我在这里不再赘述。
今天,我将为大家展示一段实用的源代码,它可以直接用于防御 XSS
攻击。尽管现代的许多开发框架已经内置了相应的防护措施,但对于PHP
开发者来说,理解 XSS
攻击的原理及其防范方法仍然至关重要。
以下是使用指南:
1. 首先,将`waf
.php
`文件上传至您希望保护的文件所在的目录。
2. 接下来,在您的网页中加入防护措施,您可以选择以下两种方法之一:
a
. 在需要防护的页面中添加以下代码行:
require_once
('waf
.php
');
这样,您的页面就可以防止注入和跨站攻击。如果您希望整个网站都受到保护,可以在网站的公共文件中,例如数据库连接文件`config
.inc
.php
`中添加上述代码行,以实现全局调用。
b
. 或者,您可以在每个文件的最开始添加以下代码行:
在 php
.ini
中找到:
auto_prepend_file
= waf
.php
路径;
PHP
文件 waf
.php
汇站网:https
://www
.huizhanii
.com
*/
$url_arr
= [
'xss
' => "\\=\\+\\/v
(?:8|9|\\+|\\/)|\\%0acontent\\-(?:id
|lo
cat
java
script
)",
'sql
' => "[^\\{\\s
]{1}(\\s
|\\b
)+(?:select
\\b
|update
\\b
|insert
(?:(\\/\\*.*?\\*\\/)|(\\s
)|(\\+))+into
\\b
).+?(?:from
\\b
|set
\\b
)|[^\\{\\s
]{1}(\\s
|\\b
)+(?:create
|delete
|drop
|truncate
|rename
|desc
)(?:(\\/\\*.*?\\*\\/)|(\\s
)|(\\+))+(?:table
\\b
|from
\\b
|database
\\b
)|into
(?:(\\/\\*.*?\\*\\/)|\\s
|\\+)+(?:dump
|out
)file
\\b
|\\bsleep
\\([\\s
]*[\\d
]+[\\s
]*\\)|benchmark
\\(([^\\,]*)\\,([^\\,]*)\\)|(?:declare
|set
|select
)\\b
.*@|union
\\b
.*(?:select
|all
)\\b
|(?:select
|update
|insert
|create
|delete
|drop
|grant
|truncate
|rename
|exec
|desc
|from
|table
|database
|set
|where
)\\b
.*(charset
|ascii
|bin
|char
|uncompress
|concat
|concat_ws
|conv
|export_set
|hex
|instr
|left
|load_file
|locate
|mid
|sub
|substring
|oct
|reverse
|right
|unhex
)\\(|(?:master
\\.\\.sysdatabases
|msysaccessobjects
|msysqueries
|sysmodules
|mysql
\\.db
|sys
\\.database_name
|information_schema
\\.|sysobjects
|sp_makewebtask
|xp_cmd
shell
转载请注明:汇站网 » PHP
过滤 XSS
攻击利用 WAF
.PHP
进行防护(教程)