You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dreamhost上绕过mod_security以正常发布内容?

解决Dreamhost上mod_security拦截含function代码的方案
  • HTML实体编码敏感关键词
    别用EncodeURLComponent(这是URL编码,适合URL参数而非内容提交),改用HTML实体转义。比如把function转成function,或者只转其中1-2个字符(比如function),既避开mod_security的规则匹配,浏览器渲染时又能正常显示原内容。大部分前端工具库(比如原生JS的escapeHTML类方法、第三方文本处理库)都自带现成的HTML实体转义函数,直接调用即可。

  • 用JSON格式提交POST请求
    mod_security很多拦截规则针对的是表单form-data的关键字匹配,如果你把内容放在JSON请求体里提交,很多规则会失效。示例代码:

    fetch('/publish-post', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ content: yourCodeContent })
    });
    

    后端直接解析JSON数据即可,无需修改存储逻辑。

  • Base64编码后提交
    前端用btoa(content)把代码内容转成Base64字符串提交,后端用对应语言的解码函数(比如PHP的base64_decode()、Python的base64.b64decode())还原内容再存储。提交的Base64字符串不含敏感关键词,能绕过mod_security的检测。

  • 针对性禁用mod_security规则
    如果你有权限修改.htaccess,可以查看服务器错误日志找到拦截请求的规则ID,然后只禁用这一条规则,不用全关mod_security。示例配置:

    <IfModule mod_security.c>
      SecRuleRemoveById 9XXX001  # 替换为实际拦截你的规则ID
    </IfModule>
    

内容的提问来源于stack exchange,提问作者maganthro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 14:14:54