
php中smarty模板的escape转码后的超链接报403
<ahref={"urlceshi.php?name=leo&pwd=123"|escape:"url"}target="_blank">去首页</a><ahref="u...
<a href={"urlceshi.php?name=leo&pwd=123"|escape:"url"} target="_blank">去首页</a>
<a href="urlceshi.php?name=leo&pwd=123" target="_blank">去首页2</a>
第一个连接报403 无权访问
第二个连接能连接到首页
开发工具 EPP
服务器 WampServer Version 2.1 展开
<a href="urlceshi.php?name=leo&pwd=123" target="_blank">去首页2</a>
第一个连接报403 无权访问
第二个连接能连接到首页
开发工具 EPP
服务器 WampServer Version 2.1 展开
1个回答
展开全部
解决办法如下:
1、在php代码中直接使用urlencode处理你的$url,然后assion入smarty模板,输出结果A后,点击链接A看是否可用,
2、如果上述操作后,链接A不可用,就说明是你的浏览器(服务器)不支持直接url安全码的自动解码(是会有某些浏览器或服务器的支持度不够好的)。这时就需要你在php端做urldecode的解码工作,来恢复到常规的url B,从而打开这个常规url B。
3、如果链接A可用,就说明是在smarty中的escape确实是有了问题。那就不要使用这个方法。
4、另外,切记——(href=""),这个引号是必需要的。尽可能避开一些微妙的外在因素的干扰。你可以写成<a href='{"urlceshi.php?name=leo&pwd=123"|escape:"url"}'
1、在php代码中直接使用urlencode处理你的$url,然后assion入smarty模板,输出结果A后,点击链接A看是否可用,
2、如果上述操作后,链接A不可用,就说明是你的浏览器(服务器)不支持直接url安全码的自动解码(是会有某些浏览器或服务器的支持度不够好的)。这时就需要你在php端做urldecode的解码工作,来恢复到常规的url B,从而打开这个常规url B。
3、如果链接A可用,就说明是在smarty中的escape确实是有了问题。那就不要使用这个方法。
4、另外,切记——(href=""),这个引号是必需要的。尽可能避开一些微妙的外在因素的干扰。你可以写成<a href='{"urlceshi.php?name=leo&pwd=123"|escape:"url"}'
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询