2015-03-12 5 views
0

Я работаю над сайтом, который использует несколько таблиц базы данных MySQL. Пока я использую эти таблицы, чтобы показать их содержимое в таблицах на нескольких страницах. Для создания этих таблиц я использую JavaScript, чтобы сделать запрос AJAX на сервер. PHP-скрипт выполняет запрос к базе данных и отправляет ответ клиенту. JavaScript использует этот ответ для создания HTML-кода. Таким образом, в этом случае JavaScript обрабатывает данные (создает таблицу html из данных базы данных).Где обрабатывать ответы SQL на сайтах

В будущем я хочу, чтобы добавить больше функций, как пользовательский логин с паролем и т.д.

Итак, мой вопрос: что это лучший способ обработки данных базы данных. Например: следует ли проверять правильность пароля в JavaScript (clientide) или на PHP (serveride)?

Пожалуйста, дайте мне знать, если вопрос не ясен.

+1

Я был бы осторожен в использовании столько аяксифа, что вы хотите, чтобы ваш сайт был проиндексирован поисковыми системами. –

+1

Я рекомендую эту отличную книгу: Изучение PHP, MySQL и JavaScript Робин Никсон. Он затрагивает вопросы, о которых вы упомянули в значительной степени. http://it-ebooks.info/book/4681/ – jyrkim

ответ

1

Лучший способ обработки конфиденциальных данных как логин пароль и т.д. ...

ли сделать это ServerSide, почему? Поскольку вы никогда не можете доверять клиенту, javscript можно отключить в браузере пользователя, выйти из строя из-за ошибки в сценарии или злобно обойти без особых усилий.

http://en.wikipedia.org/wiki/Defensive_programming

+0

Как насчет создания строк запроса SQL. Лучше ли создавать их и в PHP? – ArabCheese

+0

@ArabCheese, конечно же, никогда не забывайте защищать пользовательские переменные ввода (GET, POST). –

1

Вы никогда не должны проверить целостность критически важных данных или безопасности в коде клиентов, так как он может быть изменен или введен с чем-то другим. Общее правило в вашем случае - база данных хранит данные, сервер PHP обрабатывает данные (делает проверки, обновления и так далее). JavaScript форматирует данные только для того, чтобы их можно было хорошо отобразить! Нет бизнес-логики.

Любые проверки, выполненные в JavaScript, предназначены только для того, чтобы не перегружать серверную сторону. Например, зачем отправлять логин и пароль пользователя, если мы можем обнаружить, что формат неправильный?

Редактировать: что касается вашего SQL-запроса, то, безусловно, да, PHP. Если вы отправляете SQL-скрипты из JavaScript, что помешает кому-то отправлять свои собственные команды в вашу базу данных? Один из вариантов заключается в том, чтобы сделать также какие-то хранимые функции или процедуры в вашей базе данных.

+0

Спасибо за четкий ответ. – ArabCheese

+0

. Тем не менее, если у вас было идеальное соединение, низкое использование сервера и т. Д., Все это могло быть сделано на стороне сервера через например, ajax. JavaScript - это V в MVC, в котором любая бизнес-логика начнет святую войну, что должно и не должно быть сделано интерфейсом. P.S Как я уже писал, критическая проверка не должна выполняться JavaScript. – mrangry777