我继承了前开发人员的一些代码,我发现了这段代码。
<?php
if($this->loginAction->isAuthenticated()){
?>
<script type="text/javascript">
window.parent.location.href="https:/home";
</script>
<?php
}
?>
我已经看了一段时间,我不知道他为什么要把URL放在那里。我认为网址应为https://mysite.com/home。我基本上不知道这段代码是做什么的。
编辑:我知道如果用户通过身份验证,此代码是重定向,但我不知道奇怪的网址(https:/ home)在那里做了什么。这段代码正在运行。
感谢您的帮助。
Edit2:根据我的同事,这是JS的秘密之一:)去测试它。这两行代码应具有相同的功能:
window.parent.location.href="https:/home";
window.parent.location.href="https://www.my-testing.com/home";
答案 0 :(得分:1)
这是URI,它根据此处的规范有效:第3部分中引用的https://www.ietf.org/rfc/rfc2396.txt:此处引用:(粗体和突出显示是我的)这表示方案 https 然后是分隔符冒号:,其余的是可选的。因此,单个正斜杠可能被解释为根或&#34; full&#34; &#34; https://home&#34;的URI或者只是&#34; / home&#34;当前的提供者。可能这看起来像&#34; https://www.example.com/home&#34;如果您的网站是www.example.com(它不是规范中的那个也是保留名称),这是您网站的DNS地址。请注意,如果该计划缺失为&#34; // www.ourbug.net&#34;那么这将被转换为当前使用的方案(大多数资源的http或https)
第3。 URI语法组件
URI语法取决于方案。一般来说,绝对的 URI编写如下:
<scheme>:<scheme-specific-part>
绝对URI包含正在使用的方案的名称() 然后是冒号(&#34;:&#34;),然后是一个字符串(),其解释取决于方案。
URI语法不要求scheme-specific-part具有 任何一般结构或一组语义,这是所有人共同的 URI。但是,URI的一个子集确实共享一个共同的语法 表示命名空间内的层次关系。 :此 &#34;通用URI&#34;语法由四个主要组件序列组成:
<scheme>://<authority><path>?<query>
除了特定URI之外,其中每一个都可能不存在。 例如,某些URI方案不允许组件, 和其他人不使用组件。
absoluteURI = scheme ":" ( hier_part | opaque_part )
本质上是分层的URI使用斜杠&#34; /&#34;性格 分离层次组件。对于某些文件系统,&#34; /&#34; character(用于表示URI的层次结构)是 分隔符用于构造文件名层次结构,从而构造URI path看起来类似于文件路径名。这并不意味着 资源是一个文件,或者URI映射到实际的文件系统 路径名。
hier_part = ( net_path | abs_path ) [ "?" query ]
net_path = "//" authority [ abs_path ]
abs_path = "/" path_segments"
答案 1 :(得分:0)
好吧,似乎说登录操作是否经过身份验证,然后将用户重定向到新的网址。
对我来说似乎是一个错误。我不相信https:/ home不仅仅是一个错字。
答案 2 :(得分:0)
尝试:
<script type=text/javascript>
window.parent.location="https://www.my-testing.com/home";
</script>