【发布时间】:2016-11-01 02:53:38
【问题描述】:
我已经建立了一个基于 joomla 的网站,并使用 Apache 服务器为其提供服务。 我现在必须构建一个模块来检查来自 URI 的请求的合法性,如果 URI 满足某些约束,Apache 然后让它访问正常的 Joomla 网站,否则返回 HTTP_BAD_REQUEST。
例如,如果 URI 包含 <script>,Apache 将返回 HTTP_BAD_REQUEST。否则,它允许客户访问 joomla 网站。那么我该如何编码 ELSE 部分。
static int my_apache_module_function(request_rec *r)
{
if (strstr(r->args, "<script>") != NULL)
{
return HTTP_FORBIDDEN;
}
else
//direct the client to normal joomla homepage.
//I need your help here. I am really thankful for any clues.
}
【问题讨论】:
-
Joomla 确实已经做了很多清理和检查 URI 的工作,如果请求包含
<script>或很多其他内容,它将返回 404。它有一个完整的清理过程。我认为您应该检查该代码而不是重新发明轮子。如果您发现未正确清理的危险网址,则应将其报告为安全问题。 -
感谢cmt。您能否分享一下您所说的 joomla 检查 URI 安全性的参考资料?另外,如果是,那么您有什么想法可以禁用它们吗?
-
你做了哪些研究?您检查了 API 的哪些部分?例如,您可能想查看 filter api。文档的哪一部分你不明白?
标签: apache joomla httprequest apache-modules