1

我从我们以前的开发人员那里继承了一些代码,我找到了这段代码。

<?php
   if($this->loginAction->isAuthenticated()){
?>
   <script type="text/javascript">
      window.parent.location.href="https:/home";
   </script>
<?php
}
?>

我一直在寻找它,但我不知道他为什么将 URL 的快捷方式放在那里。我认为 URL 应该是https://mysite.com/home。我基本上不知道这段代码是做什么的。

编辑:我知道如果用户经过身份验证,此代码是重定向,但我不知道奇怪的 URL(https:/home) 在那里做什么。此代码正在运行。

感谢您的任何帮助。

Edit2:据我的同事说,这是 JS 的秘密之一:) 要去测试它。这两行代码应该具有相同的功能:

window.parent.location.href="https:/home";
window.parent.location.href="https://www.my-testing.com/home";
4

3 回答 3

1

这是 URI,根据此处的规范它是有效的:https ://www.ietf.org/rfc/rfc2396.txt在第 3 节中引用这里:(粗体和突出显示是我的)这表示方案https后跟分隔符冒号然后其余部分是可选的。因此,单个正斜杠可能被解释为“ https://home ”的根或“完整”URI,或者只是当前提供者的“/home”。可能这看起来像“ https://www.example.com/home" 如果您的网站是 www.example.com(不是,但在规范中也是保留名称),这是您网站的 DNS 地址。请注意,如果该方案缺少 "//www .ourbug.ne​​t”然后将其转换为当前使用的方案(大多数资源为 http 或 https)

从参考引用:

3. URI 句法组件

URI 语法取决于方案。一般来说,绝对URI的写法如下:

  <scheme>:<scheme-specific-part>

绝对 URI 包含正在使用的方案的名称 (),后跟一个冒号 (":"),然后是一个字符串 (the),其解释取决于方案。

URI 语法不要求方案特定部分具有所有 URI 中通用的任何通用结构或语义集。但是,URI 的一个子集确实共享一个通用语法来表示命名空间内的层次关系。 这种“通用 URI”语法由四个主要部分组成:

  <scheme>://<authority><path>?<query>

除了 之外,其中的每一个都可能不存在于特定的 URI 中。 例如,一些 URI 方案不允许使用组件,而另一些则不允许使用组件。

  absoluteURI   = scheme ":" ( hier_part | opaque_part )

本质上是分层的 URI 使用斜杠“/”字符来分隔分层组件。对于某些文件系统,“/”字符(用于表示 URI 的层次结构)是用于构造文件名层次结构的分隔符,因此 URI 路径看起来类似于文件路径名。这并不意味着资源是文件或 URI 映射到实际的文件系统路径名。

  hier_part     = ( net_path | abs_path ) [ "?" query ]

  net_path      = "//" authority [ abs_path ]

  abs_path      = "/"  path_segments"
于 2016-04-15T04:18:38.853 回答
0

好吧,似乎是说登录操作是否经过身份验证,然后将用户重定向到新的 url。

对我来说似乎是一个错误。我不相信 https:/home 不仅仅是一个错字。

于 2013-08-16T17:44:25.957 回答
0

尝试:

<script type=text/javascript>
   window.parent.location="https://www.my-testing.com/home";
</script>
于 2014-10-08T08:47:03.010 回答