Это зависит от ваших потребностей.
Если вам необходимо перенаправить пользователя после входа в систему, то вы должны использовать перенаправление заголовка.
метаобновление не рекомендуется по причинам, указанным выше, но все же еслитребуется, вы можете использовать метаобновление.например, показ рекламы на вашем сайте, а затем через определенное количество секунд вы принудительно загружаете файл или перенаправляете на новую страницу.
Вот небольшой сценарий
PHP
* На странице 1011 * отображается форма входа в систему, после отправки этой страницы данные отправляются на clearn_login_form.php
для очистки входных данных.clearn_login_form.php
перенаправляет на validate.php
, а затем validate.php
перенаправляет на admin_area/admin_main.php
.
Все это перенаправление выполняется на бэкэнде, и пользователь будет видеть только страницы login.php
и admin_main.php
, и если пользователь нажметкнопка возврата браузера вернется к login.php
META
В метаобновлении перенаправление выполняется на стороне браузера / клиента, что представляет угрозу безопасности, поскольку пользователи смогут видеть clear_login_form.php
и validate.php
в их URL.также, если они отбросят кнопку с admin_main.php
, они придут к validate.php
, откуда они будут снова перенаправлены на admin_main.php
. PHP безопасен и быстр и скроет некоторые важные имена файлов от пользователей, где метаданныеи пользователи могут делать атаки CSRF или Session hijacking (если они обнаружили какие-либо дыры)
Теперь вам нужно использовать заголовок на самых первых строках, это проблема для вас, для преодоления этой проблемы используйте функцию ob_start()
,но обязательно ставьте exit()
сразу после каждой команды заголовка.
Примечание: ob_start
и header()
в сочетании не являются хорошей практикой и сбивают с толку других программистов, которые работают над вашим кодом.Рекомендуется использовать заголовок в большинстве верхних расположений или перед отправкой какого-либо вывода в браузер
function redirect($location) {
header("location: $location");
exit();
}