2015-11-11 4 views
0

новый для PHP. После нескольких часов обучения & Практика Я создал небольшой проект PHP с базой данных MySQL для проверки/создания/редактирования/удаления информации сотрудника.Проверка на стороне клиента для PHP-проекта хорошая или плохая? И как улучшить проект PHP?

Итак, вот мои вопросы по его улучшению (как хороший и интеллектуальный стандарт проекта php, не обязательно должен быть нивелированным на предприятии): Должен ли я использовать больше Javascript для проверки на стороне клиента или использовать PHP функции, чтобы выполнять работу в основном? (например, проверить, были ли введены данные формы в правильном формате)

Чтобы изменить информацию о сотруднике, что делать, чтобы убедиться, что данные были созданы/отредактированы с помощью того же стандарта внутри базы данных (например, сначала & второе имя всегда должно начиная с одной (и единственной) буквы верхнего регистра независимо от того, что пользователь вводил в формы), javascript, php-функцию или sql-запросы? Я думаю, они все могли заставить его работать, но какой из них лучший и почему?

Этот вид кода сводит меня с ума

<input type="text" name="inputFname" class="field-divided" placeholder="First"value="<?php echo $emp['f_name'] ?>"/> 

Любой лучший способ сделать код PHP отделенной с HTML-код?

+6

Хотя клиентская сторона js хороша для немедленного ответа пользователя, никогда не доверяйте запросу, полученному сервером, и всегда проверяйте серверную сторону. –

+0

всегда проверяет серверную сторону, опционально проверяя сторону клиента. –

+2

Вы должны сделать то и другое. Клиентская сторона, поэтому вы можете предотвратить отправку формы, если она неверна, и на стороне сервера, потому что вы никогда не должны доверять стороне клиента, чтобы она не изменялась. –

ответ

1

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

Вы можете (и должны) также выполнить проверку «bozo-test» на клиенте для обеспечения полноты, правильного форматирования & c .; проверка на стороне клиента позволяет сразу сообщить пользователю об ошибке без накладных расходов на поездку на сервер. Однако имейте в виду, что проверка на стороне клиента не может защитить вас от активно враждебного пользователя.

Надеюсь, что это поможет.

+0

Отличный ответ с подробностями, спасибо: D В данный момент вы можете проверить функцию проверки на стороне сервера. – Tian