如何过滤用户输入的非法html

如何过滤用户输入的非法html,第1张

其实你只需要转换 <> 这两个符号

/// <summary>

/// 转换成 HTML code

/// </summary>

/// <param name="str">string</param>

/// <returns>string</returns>

public static string Encode(string str)

{

str = strReplace("&"," & a m p;");

str = strReplace("'","''");

str = strReplace("\"","& q u o t;");

str = strReplace(" ","& n b s p;");

str = strReplace("<","& l t;");

str = strReplace(">","& g t;");

str = strReplace("\n","< b r>");

return str;

}

先把词库读到内存中的字典:以第一个字符为Key的字典,以List<string>为Value(考虑到可能有词汇第一个字符是相同的)

Dictionary<char, List<String>> 词库 = new Dictionary<char, List<String>>();

再用 SystemIOFileStream类 读取文件。

先读取一行string line = FileStream1ReadLine()

然后一个一个字符Read,判断是不是ContainsKey('字符'),如果含有,再把这个字符开头的列表中完整字符串读出来,然后进行比对

foreach (string 字符串 in 列表)

{

int 开始位置 = 当前字符在行中位置

int 搜索长度 = 要比较的字符串长度

使用lineIndexOf(字符串, 开始位置, 搜索长度) > 0 或者使用

lineContains(字符串) //哪种效率高要试试才知道

这样只需要把文件扫描一次,每次调用哈希表来判断字符,时间复杂度O(1),匹配时搜索当前行的小范围,性能比多次扫描大大提升。

}

我只提供思路,具体代码的自己写把。

如满意,请采纳,谢谢。

json中没有自带的过滤不合法字符的工具类,需要用户自己编写。

将源数据中的'、"、\\、空格、换行等都替换成转义符,这样你拼接的json数据就是正常的,显示出来格式和数据库中的一样。

function valueReplace(v) {

if (vindexOf("\"") != -1) {

v = vtoString()replace(new RegExp('(["\"])', 'g'), "\\\"");

}

else if (vindexOf("\\") != -1)

v = vtoString()replace(new RegExp("([\\\\])", 'g'), "\\\\");

return v;

}

以上就是关于如何过滤用户输入的非法html全部的内容,包括:如何过滤用户输入的非法html、sqlserver中有一张非法过滤词库表,表中5000+条数据,后台用C#,如何以最快速度对一篇文章进行非法过滤。、java : json 过滤不合法字符的工具包工具类工具等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10164030.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存