2017-01-20 7 views
0

Я изучаю php для разработки веб-приложения. Я пытаюсь использовать модель MVC и использовать $_GET для ввода пользовательского ввода по URL-адресу в качестве контроллера и метода с помощью настройки файла .htaccess. Тем не менее, я обнаружил, что нормальная функция $_GET больше не работает, когда я пытаюсь обновить div, щелкнув ссылку.

Она будет работать без .htaccess файла, как в следующем примере:

<a href="?grade=grade1">Grade 1</a> 

<?php $grade=$_GET['grade'];?> 

<div> <?php include ($grade.'.php');?> </div> 

Я попытался JQuery, но он не работает в моем-то то есть. Я также попробовал действие кнопки. Это сработало, но я все еще думаю, что ссылка выглядит лучше. Есть ли способ использовать _GET в приведенном выше примере в модели MVC? Любые другие предложения, чтобы обойти это? Я новичок в веб-разработке, я хочу простое решение. :)

Большое спасибо!

+3

https://en.wikipedia.org/wiki/File_inclusion_vulnerability –

ответ

0

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

Вот ссылка, в которой содержится общий обзор MVC и как его правильно использовать.

https://www.sitepoint.com/the-mvc-pattern-and-php-1/

(Я хотел бы добавить это как комментарий, к сожалению, у меня нет необходимой репутации.)

+0

Спасибо очень много для ваших комментариев! Если я использую действие кнопки для изменения имени файла include. Поможет ли это решить проблему, поскольку URL-адрес не будет содержать имя файла? Или есть лучший способ включить файл и сохранить его в безопасности? – Cici

+0

Лучше никогда не использовать введенный пользователем вход для включения файла. У вас может быть что-то вроде $ _GET ['grade'] = 1-5 или что-то подобное, и используйте переключатель(), чтобы определить, что соответствуют этим номерам. –

 Смежные вопросы

  • Нет связанных вопросов^_^