Query parameters 不应使用查询参数的IT策略是否有任何理由?

Query parameters 不应使用查询参数的IT策略是否有任何理由?,query-parameters,corporate-policy,Query Parameters,Corporate Policy,我的公司,建立广告服务器,附属网络,联系方式和CRM软件是去年收购的,我们现在正在改造我们的技术,以适应母公司的IT政策和指导方针 其中一项政策是一个巨大的症结,给我们带来了各种各样的问题: 在最终用户可见的任何URL中都不能使用查询参数 这包括内容URL、广告点击目标、重定向,以及地址栏或鼠标悬停状态栏更新中显示的任何内容。其效果是没有分支机构ID参数、媒体源跟踪ID、会话ID、CMS内容选择参数等等。如果不将参数数据从一页传递到另一页,我们的软件的几个基本功能就无法完成。在我们的例子中,许多

我的公司,建立广告服务器,附属网络,联系方式和CRM软件是去年收购的,我们现在正在改造我们的技术,以适应母公司的IT政策和指导方针

其中一项政策是一个巨大的症结,给我们带来了各种各样的问题:

在最终用户可见的任何URL中都不能使用查询参数

这包括内容URL、广告点击目标、重定向,以及地址栏或鼠标悬停状态栏更新中显示的任何内容。其效果是没有分支机构ID参数、媒体源跟踪ID、会话ID、CMS内容选择参数等等。如果不将参数数据从一页传递到另一页,我们的软件的几个基本功能就无法完成。在我们的例子中,许多链接来自不同的站点或子域,也不可能通过cookie传递数据

我得到的唯一理由是,查询参数会阻止某些代理缓存正常工作。这对我来说毫无意义——我从未听说过这样的事情——也没有人愿意或有兴趣详细讨论它。我甚至没有得到一个具体的例子来说明什么是破坏的,或者为什么要创建该策略

无论如何,这是一项全球性的企业IT政策,归根结底,原因并不重要,只关系到法规遵从性。尽管改变它很可能是不可能的,但我仍然想了解是什么合理的担忧促使了它的机构。了解心态可能是找到解决办法的第一步

我的第一个解决方案是在URL的路径部分嵌入参数,并用Apache mod_重写来提取它们,但这是不可能的,因为:

推论:每个URL必须提供唯一的内容,而不是通过其他URL提供

因此,使多个URL实际上引用同一页面,但在URL中包含其他参数数据也是不可接受的

问题:

  • 不使用查询参数是否有正当理由

  • 具体来说,当存在查询参数时,哪些代理或系统无法工作

  • 这可能与搜索引擎优化有关吗?这一推论使它看起来如此

  • 在这种限制下,将数据从一个站点传递到另一个站点可能有什么解决方法


我只能回答“变通”问题:使用路径信息

编辑以更具体


不要使用
/banner.php?what=ever&any=thing
而使用
/banner.php/what=ever/any=thing
。apache仍将通过
/banner.php
提供请求,并且
/what=ever/any=thing
将出现在
$\u服务器['PATH\u INFO']
中。您必须自己对字符串进行
rawurldecode
分解,因为Web服务器不会为您这样做,但这没什么大不了的

即使你没有任何好的理由去做,这也是你的雇主想要的。我不认为理性的争论会改变这一点,除非你已经说过了。我的第一个想法是。。。为每个参数化的请求生成一些唯一的东西,即使它是一些毫无意义的东西,比如参数散列。但是是的,这看起来很愚蠢。。。我想知道是否有人没有读到QueryString中涉及敏感信息的漏洞,并且对解决方案的选择产生了错误的想法。@GrayWizardx是的,你是对的!我补充了一个澄清,我不希望改变它,但是我想了解是什么促使他们创建这样一个策略,这样我就可以知道他们最关心的是什么类型的问题。@Shog9:最简单的方法:在每种情况下呈现请求的URI,然后突然在每种情况下都有唯一的内容URI@ryandenki:您是如何解决此问题的?他们仍然坚持他们愚蠢的政策吗?这基本上是我对mod_重写的想法,但由于这会为同一内容创建多个URL,如果与“仅限唯一URL”的推论相冲突,并且也是被禁止的:-(啊哈。我没有引起足够的注意,还以为这只是关于广告。看起来这让OP陷入了一条死胡同。这对他来说其实是件好事,因为诉讼很少有兴趣扼杀自己的生意,情况最终会得到解决。