在php中使用元刷新标记重定向而不是header()函数是一种好习惯吗?

Ken*_*ent 6 php redirect refresh header

我必须在我的脚本中大量使用重定向,例如在用户登录后我需要将它们重定向到管理区域等等.但是我发现总是必须在顶部具有头功能是不方便的.因此,如果我使用元刷新标签进行重定向,那么根据最佳实践会不会满足于这一点,还是可以接受?

function redirect($location) {
    echo "<meta http-equiv='refresh' content='0; url=$location' />";
}
Run Code Online (Sandbox Code Playgroud)

sha*_*mar 10

,维基百科明确指出:

元刷新是一种不鼓励的方法,用于指示Web浏览器在给定的时间间隔后自动刷新当前的网页或帧.....

元刷新标签有一些缺点:

  1. 如果页面重定向过快(少于2-3秒),使用下一页上的"后退"按钮可能会导致某些浏览器返回到重定向页面,重定向将再次发生.这对可用性不利,因为这可能会导致读者在最后一个网站上"卡住".
  2. 读者可能希望或可能不希望被重定向到不同的页面,这可能导致用户不满或引起对安全性的担忧.

  • header()不能使用如果之前有任何HTML并且JS用户可以阻止它那么重定向的最佳方法是什么? (2认同)

Tob*_*ner 1

我个人会使用 header() 函数,这样用户就不必等待另一个页面加载。