网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 数据库防脚本注入
内容
    网站安全非常重要,所以一个网站必须要有对攻击的基础防范措施,比如脚本攻击,跨域攻击,数据库注入攻击等。下面分享一个使用的防止数据库Sql脚本注入的使用类
    using System;
    using System.Collections.Generic;
    using System.Text;
    namespace NZS.Common
    {
    public class Filter
    {
    ///
    /// 检测是否含有危险字符(防止Sql注入)
    ///
    /// 预检测的内容
    /// 返回True或false
    public static bool HasSqlKeywords(string contents)
    {
    bool ReturnValue = false;
    if (contents.Length > 0)
    {
    string LowerStr = contents.ToLower();
    string RxStr = @”(/sand/s)|(/sand/s)|(/slike/s)|(select/s)|(insert/s)|(delete/s)|(update/s[/s/S].*/sset)|(create/s)|(/stable)|(<[iframe|/iframe|script|/script])|(‘)|(/sexec)|(declare)|(/struncate)|(/smaster)|(/sbackup)|(/smid)|(/scount)|(cast)|(%)|(/sadd/s)|(/salter/s)|(/sdrop/s)|(/sfrom/s)|(/struncate/s)|(/sxp_cmdshell/s)”; //Match 检查数据库里面关键字和一些特殊字符,如单引号
    System.Text.RegularExpressions.Regex Rx = new System.Text.RegularExpressions.Regex(RxStr);
    ReturnValue = Rx.IsMatch(LowerStr, 0);
    }
    return ReturnValue;
    }
    ///
    /// 过滤 Sql 语句字符串中的注入脚本
    ///
    /// 传入的字符串
    /// 过滤后的字符串
    public static string SqlFilter(string str)
    {
    str = str.Replace(“””, “‘’”);
    //单引号替换成两个单引号
    str = str.Replace(“‘”, “‘”);
    //半角封号替换为全角封号,防止多语句执行
    str = str.Replace(“;”, “;”);
    //半角括号替换为全角括号
    str = str.Replace(“(“, “(”);
    str = str.Replace(“)”, “)”);
    ///////////////要用正则表达式替换,防止字母大小写得情况////////////////////
    //去除执行存储过程的命令关键字
    str = str.Replace(“Exec”, “”);
    str = str.Replace(“Execute”, “”);
    //去除系统存储过程或扩展存储过程关键字
    str = str.Replace(“xp_”, “x p_”);
    str = str.Replace(“sp_”, “s p_”);
    //防止16进制注入
    str = str.Replace(“0x”, “0 x”);
    return str;
    }
    }
    }
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/16 18:20:16