Где проверить параметры GET / POST? (MVC) - PullRequest
0 голосов
/ 18 июля 2011

макет моего сайта:

index.php: - фронт-контроллер - включает header.php - включает template.php - включает footer.php

Фронт-контроллер проверяет URL и решает, какойшаблон для включения или, если это было действие, выполните проверку ошибок и перешлите к представлению.У меня есть форма поиска, она отправляет входные данные (с помощью метода GET).Фронт-контроллер получает его, вызывает «action_search.php», останавливает, если есть ошибки, а затем включает «search_template.php», это показывает результат поиска.До сих пор контроллер проверяет параметры GET (они существуют, экранируются и т. Д.) И перенаправляет на представление, но как кто-то может напрямую вызвать представление через браузер?Скрипт умрет "неизвестным параметром GET", поэтому это должно быть сделано снова в поле зрения.Но это вредит MVC.Тогда как это сделать?

Ответы [ 3 ]

1 голос
/ 18 июля 2011

Ваш MVC должен быть настроен таким образом, чтобы пользователи не могли получать доступ к вашему представлению напрямую через браузер. Используйте правила перезаписи .htaccess, чтобы перенаправить все запросы на фронт-контроллер.

1 голос
/ 18 июля 2011

Помимо «скрытия» страниц с помощью mod_rewrite / .htaccess, у вас могут быть только php-страницы, к которым нельзя обращаться напрямую в каталог, который не является подпапкой корня вашего http-документа.

1 голос
/ 18 июля 2011

Используйте mod_rewrite, чтобы форсировать все через ваш index.php, тогда каждый запрос будет обрабатываться через index.php так, как вы хотите, и он может решить, что делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...