我的公司去年被收购,该公司负责构建广告服务器、联属网络、联系表格和 CRM 软件,现在我们正在重新设计我们的技术,以适应母公司的 IT 政策和指导方针。
其中一项政策是一个巨大的症结所在,给我们带来了各种各样的问题:
最终用户可见的任何 URL 中不得使用任何查询参数
这包括内容 URL、广告点击目标、重定向以及将显示在地址栏或鼠标悬停状态栏更新中的任何内容。其效果将是没有附属 ID 参数、媒体源跟踪 ID、会话 ID、CMS 内容选择参数等任何内容。如果不将参数数据从一页传递到另一页,我们软件的几个基本功能根本无法完成。在我们的例子中,许多链接来自不同的站点或子域,也不可能通过 cookie 传递数据
我得到的唯一理由是查询参数会阻止某些代理缓存正常工作。这对我来说毫无意义——我从来没有听说过这样的事情——而且没有人愿意或有兴趣详细讨论它。我什至没有得到具体的破坏或为什么创建该策略的示例。
无论如何,这是一项全球性的企业 IT 政策,最终推理并不重要,重要的是合规性。尽管改变它很可能是不可能的,但我仍然想了解哪些合理的担忧可能促使其成立。了解这种心态可能是找到解决方法的第一步。
我首先想到的解决方法是将参数嵌入 URL 的路径部分并使用 Apache mod_rewrite 提取它们,但这是不可能的,因为:
推论:每个 URL 必须呈现其他 URL 无法提供的唯一内容
因此,制作多个实际上引用同一页面但在 URL 中包含其他参数数据的 URL 也是不可接受的。
问题:
我只有“解决方法”问题的答案:使用 PATH_INFO。
edit更具体
代替/banner.php?what=ever&any=thing
use /banner.php/what=ever/any=thing
。 apache 仍将通过以下方式服务请求/banner.php
, and /what=ever/any=thing
将出现在$_SERVER['PATH_INFO']
。你必须rawurldecode
and explode
您自己输入字符串,因为网络服务器不会为您执行此操作,但这没什么大不了的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)