我在Windows 7 64位系统上使用Wamp with Apach 2.4.2。在我的测试中,我尝试urlencode
我的网址字符串。
我收到以下403禁止错误消息:
您无权访问此服务器上的/chi-linux/membersareaDev.php?doProfile=true。
没有urlencoding的链接不会出错。由于这是一个开发盒,我可以访问http.conf(没有更改)。我的所有代码都在c:\ wamp \ www \ chi-linux中 如果我没有urlencode,我就不会遇到权限问题。
这是我的代码:
<?php $url1 = urlencode("membersareaDev.php?doStatus=true?statid=10");
$url2 = urlencode("membersareaDev.php?doProfile=true");
echo "url=$url1";
?>
<li><a href="membersareaDev.php?doProfile=true">Profiles</a></li>
<li><a href=<?php echo "$url2"; ?> >Profiles Encode</a></li>
<li><a href= "membersareaDev.php?doStatus=true?amp;statid=10">Status</a></li>
<li><a href= <?php echo $url1;?>>Status Encode</a></li>
关于我缺少的任何想法?
答案 0 :(得分:0)
urlencode()也会对问号进行编码,以便您的网址变为:
membersareaDev.php%3FdoProfile%3Dtrue
这是不正确的,如果您担心用户输入,则不需要对整个网址进行urlencode,只需对单个传递的参数进行编码。