描述:
1、跨站脚本攻击就是指恶意攻击者向网页中插入一段恶意代码,当用户浏览该网页时,嵌入到网页中的恶意代码就会被执行。
2、跨站脚本攻击漏洞,英文名称Cross Site Scripting,简称CSS又叫XSS。它指的是恶意攻击者向Web页面中插入一段恶意代码,当用户浏览该页面时,嵌入到Web页面中的恶意代码就会被执行,从而达到恶意攻击者的特殊目的。
危害:
1、恶意用户可以使用该漏洞来盗取用户账户信息、模拟其他用户身份登录,更甚至可以修改网页呈现给其他用户的内容。
2、恶意用户可以使用JavaScript、VBScript、ActiveX、HTML语言甚至Flash应用的漏洞来进行攻击,从而来达到获取其他的用户信息目的。
解决方案: 过滤用户输入的数据
切记一条规则:用户的所有输入都要认为是不安全的。
这里分享一下 360.cn 提供的解决方案:
PHP版防注代码
代码使用方法:
1、将如下代码保存为360_safe3.php文件并上传到要包含的文件的目录
2、在页面中引入上述360_safe3.php文件:require_once('360_safe3平顶山网站建设公司 .php');
require_once(‘360_safe3.php’);
如果想整站防注,就在网站的一个公用文件中,如数据库链接文件 config.inc.php 中引入!
代码来源:http://yangjunwei.com/a/943.html
PHP版代码
// yangjunwei.com
function customError($errno, $errstr, $errfile, $errline)
{
echo Error number: [$errno],error on line $errline in $errfile
;die();
}
set_error_handler(customError,E_ERROR);
$getfilter=‘|(and|or)\\b.+?(||=|in|like)|\\/\\*.+?\\*\\/|\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE);
$postfilter=\\b(and|or)\\b.{1,6}?(=|||\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE);
$cookiefilter=\\b(and|or)\\b.{1,6}?(=|||\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE);
function 有没有设计网站 StopAttack($StrFiltKey,$StrFiltValue,$ArrFiltReq){
if(is_array($StrFiltValue))
{
$StrFiltValue=implode($StrFiltValue);
}
if (preg_match(/.$ArrFiltReq./is,$StrFiltValue)==1){
//slog(
操作IP: .$_SERVER[REMOTE_ADDR].
操作时间: .strftime(%Y-%m-%d %H:%M:%S).
操作页面:.$_SERVER[PHP_SELF].
提交方式: .$_SERVER[REQUEST_METHOD].
提交参数: .$StrFiltKey.
提交数据: .$StrFiltValue);print 360websec notice:Illegal operation!;
exit();
}
}
//$ArrPGC=array_merge($_GET,$_POST,$_COOKIE);
foreach($_GET as $key=$value){
StopAttack($key,$value,$getfilter);
}
foreach($_POST as $key=$value){
StopAttack($key,$value,$postfilter);
}
foreach($_COOKIE as $key=$value){
StopAttack($key,$value,$cookiefilter);
}
if (file_exists(’update360.php‘)) {
echo 请重命名文件update360.php,防止黑客利用
;die();
}
function slog($logs)
{
$toppath=$_SERVER[DOCUMENT_ROOT]。/log.htm;
$Ts=fopen($toppath,a+);
fputs($Ts,$logs.\r\n);
fclose($Ts);
}
?
ASP版
使用方法:
1、将如下代码保存为360_safe3.asp文件并上传到要包含的文件的目录
2、在页面中引入上述360_safe3.asp文件:
!--#include virtual=/360_safe3.asp--
如果想整站防注,就在网站的一个公用文件中,如数据库链接文件 conn.asp 中引入!
ASP代码:
%
‘ yangjunwei.com
On Error Resume Next
if request.querystring then call stophacker(request.querystring,’|(and|or)\b.+?(||=|in|like)|/\*.+?\*/|\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE))
if request.Form then call stophacker(request.Form,\b(and|or)\b.{1,6}?(=|||\bin\b|\blike\b)|/\*.+?\*/|\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE))
if request.Cookies then call stophacker(request.Cookies,\b(and|or)\b.{1,6}?(=|||\bin\b|\blike\b)|/\*.+?\*/|\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE))
ms()
function stophacker(values,re)
dim l_get, l_get2,n_get,regex,IP
for each n_get in values
for each l_get in values
l_get2 = values(l_get)
set regex = new regexp
regex.ignorecase = true
regex.global = true
regex.pattern = re
if regex.test(l_get2) then
IP=Request.ServerVariables(HTTP_X_FORWARDED_FOR)
If IP = Then
IP=Request.ServerVariables(REMOTE_ADDR)
end if
‘slog(
操作IP: &ip&
操作时间: & now() &
操作页面:&Request.ServerVariables(URL)&
提交方式: 网站建设营销全案公司 &Request.ServerVariables(Request_Method)&
提交参数: &l_get&
提交数据: &l_get2)Response.Write 360websec notice:Illegal operation!
Response.end
end if
set regex = nothing
next
next
end function
sub slog(logs)
dim toppath,fs,Ts
toppath = Server.Mappath(/log.htm)
Set fs = CreateObject(scripting.filesystemobject)
If Not Fs.FILEEXISTS(toppath) Then
Set Ts = fs.createtextfile(toppath, True)
Ts.close
end if
Set Ts= Fs.OpenTextFile(toppath,8)
Ts.writeline (logs)
Ts.Close
Set Ts=nothing
Set fs=nothing
end 日照网站建设公司sub
sub ms()
dim path,fs
path = Server.Mappath(update360.asp)
Set fs = CreateObject(scripting.filesystemobject)
If Fs.FILEEXISTS(path) Then
Response.Write 请重命名升级文件update360.asp防止黑客利用
Response.End
end if
Set fs=nothing
end sub
%
南京牧狼文化传媒有限公司简介:
牧狼传媒,牧者之心,狼者之性,以牧之谦卑宽容之心待人,以狼之团结无畏之性做事!
公司注册资金100万,主营众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放以及电商营销推广全案等相关业务,致力于为客户提供更有价值的服务,创造让用户满意的效果!
为百度官方及其大客户、苏宁易购、金山WPS秀堂、美的、创维家电、新东方在线、伊莱克斯、宝丽莱等国内国外知名品牌服务过,服务经验丰富!同时,公司也是南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位,可以为您提供更好的服务!
主营项目:众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放、竞价托管、网站优化、电商代运营等
合作客户:百度、苏宁易购、饿了么、美的、创维家电、新东方在线、宝丽莱、金山WPS秀堂、伊莱克斯
资质荣誉:百度商业服务市场2017年度最佳图片服务商、南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位、八戒通TOP服务商、"易拍即合杯"H5创意大赛"三等奖"。