C# 在我的站点的讨论模块中,哪一种方法是防止输入坏单词的最好方法

C# 在我的站点的讨论模块中,哪一种方法是防止输入坏单词的最好方法,c#,asp.net,sql-server,web,C#,Asp.net,Sql Server,Web,在我的网站上,一些黑客正在输入恶语。预防这种情况的最好方法是什么 我使用ASP.NET、C#和SQL Server作为资源 检查表单后端中的坏单词 检查javascript中的坏单词 在插入之前检查存储过程中的坏字 我认为第一种方法最好 请告知此检查的优化代码 现在我正在使用这个方法 var filterWords = ["fool", "dumb", "couch potato"]; // "i" is to ignore case and "g" for global

在我的网站上,一些黑客正在输入恶语。预防这种情况的最好方法是什么

我使用ASP.NET、C#和SQL Server作为资源

  • 检查表单后端中的坏单词
  • 检查javascript中的坏单词
  • 在插入之前检查存储过程中的坏字
  • 我认为第一种方法最好

    请告知此检查的优化代码

    现在我正在使用这个方法

        var filterWords = ["fool", "dumb", "couch potato"];
        // "i" is to ignore case and "g" for global
        var rgx = new RegExp(filterWords.join(""), "gi");
    
        function wordFilter(str) {          
                return str.replace(rgx, "****");           
        }
    
        // call the function
        document.write("Original String - ");
        document.writeln("You fool. Why are you so dumb  <br/>");   
        document.write("Replaced String - ");
        document.writeln(wordFilter("You fool. Why are you so dumb"));   
    
    var filterWords=[“傻瓜”、“傻瓜”、“沙发土豆”];
    //“i”表示忽略大小写,“g”表示全局
    var rgx=newregexp(filterWords.join(“”,“gi”);
    函数字过滤器(str){
    返回str.replace(rgx,“****”);
    }
    //调用函数
    document.write(“原始字符串-”);
    document.writeln(“你这个傻瓜,为什么你这么笨
    ”); 文件。写入(“替换字符串-”; document.writeln(wordFilter(“你这个傻瓜,你为什么这么笨”);
    确保检查排列,例如

    安全-->3美元(ur3

    我会用这样的词来代替这个词

    [删除]或[审查]

    使用像s***t这样的词语仍然会被视为冒犯客户/其他人


    编辑:在这里查看HevyLight对javascript使用的想法……您可以在C#层中尝试一个字符串过滤器(假设该过滤器已经在执行繁重的操作和数据库调用)。在写入数据库之前,将所有字符串文章通过过滤器传递(并让其他人看到).

    您应该在服务器端签入ASP.NET代码。JavaScript或任何其他客户端检查都可以轻松解决。您发布的代码运行良好,只是不是特别健壮(各种简单的拼写错误都会绕过它)。

    现实是,您无法100%地避免使用脏话。 我将在服务器端进行两步验证(JS可以被禁用,SQL不适合处理此问题)

  • 创建一个使用最多的最常见的脏话列表——这可能会抓住80%的输入

  • 为可疑对象创建一个模式列表,以指示您手动验证这些模式

    这可能是一种模式,例如

    • a) Word包含两个或更多**字符
    • b) Word包含字母和下列字符之一0、3、$和其他

  • 到时候,你只需要更新两个列表。同样,这并不能解决100%的情况,但如果实施得当,它可能会捕获并修复95%的情况

    你说的脏话是指诅咒?检查应该在前端完成,而不是后端。数据库的工作是存储数据<代码>:)f.r.a.k.d0nk3ys。我赢了\o/防止“脏话”(即某些成人垃圾邮件中的脏话)的唯一真正方法是规范用户和提供商的节制。。如果它在防范垃圾邮件,那么请参阅(或现有的反垃圾邮件解决方案)@JW。在后端验证输入并没有错,它并没有坏处,而且有时是必要的,因为Javascript可以被禁用。服务器端编码被认为是后端的。这个例子有点0b$(ur3