aspcms审核元素
AspCMS 的审核审核元素,说白了就是元素一套过滤机制。你后台提交的审核内容,不管是元素文章、评论还是审核自定义表单,在入库前都要过这道关。元素很多人以为审核就是审核简单的“敏感词替换”,真去翻源码会发现,元素它分了好几层,审核每层干的元素事不一样。
先说最外层的审核 CheckBadWord 函数。这玩意儿在 inc/AspCms_Common.asp 里,元素逻辑粗暴:把用户提交的审核字符串跟数据库里 badword 表的内容逐个比对。匹配上了就替换成你后台设置的元素“替代字符”,默认是审核 ***。我见过一个站点,管理员把“杀”字加进了敏感词库,结果用户写“杀毒软件”全变成了“***毒软件”,哭笑不得。这层过滤不区分上下文,纯粹字符串匹配,效率高但容易误伤。
再往里走是 HTML 标签过滤。AspCMS 默认允许一部分标签,比如 <p>、<br>、<img>,但 <script>、<iframe> 这些直接干掉。实现方式在 inc/AspCms_Editor.asp 里,用正则把危险标签整段删掉。注意,是删掉,不是转义。这意味着你写 <script>alert(1)</script>,提交后连标签带内容全没了,页面上只剩空白。有些老版本存在绕过漏洞,比如用 <scr
