Что такое архитектура N-Tier?

Использование PDO и MYSQLi является хорошей практикой для предотвращения инъекций SQL, но если вы действительно хотите работать с функциями и запросами MySQL, было бы лучше использовать

mysql_real_escape_string

$unsafe_variable = mysql_real_escape_string($_POST['user_input']);

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

is_string

$unsafe_variable = (is_string($_POST['user_input']) ? $_POST['user_input'] : '');

is_numeric

$unsafe_variable = (is_numeric($_POST['user_input']) ? $_POST['user_input'] : '');

И гораздо лучше использовать эти функции для проверки входных данных с помощью mysql_real_escape_string.

191
задан naXa 1 October 2018 в 05:22
поделиться

4 ответа

Википедия :

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

Это спорно, какие количества как "уровни", но по-моему это должно, по крайней мере, пересечь границу процесса. Или иначе это назвало слои. Но, это не должно быть в физически различных машинах. Хотя я не рекомендую его, Вы можете размещать логический уровень и базу данных по тому же полю.

alt text

Редактирование : Одна импликация - то, что уровень представления и логический уровень (иногда названный Слоем Бизнес-логики) должны пересечь границы машины "через провод" иногда по ненадежной, медленной, и/или незащищенной сети. Это очень отличается от простого Настольного приложения, где данные живут на той же машине как файлы или веб-приложение, где можно поразить базу данных непосредственно.

Для программирования n-tier, необходимо упаковать данные в своего рода мобильной форме, названной "набором данных", и управлять ими по проводу..NET класс DataSet или протокол веб-сервисов как SOAP является немногими из таких попыток управлять объектами по проводу.

245
ответ дан Community 23 November 2019 в 05:34
поделиться

Это на основе того, как Вы разделяете уровень представления от логики основного бизнеса и доступа к данным ( Википедия )

3-уровневый Уровень представления средств + уровень Component + Уровень доступа к данным. N-tier - когда ненужные слои добавляются вне этих трех, и это маркировано модным словечком, таким образом, не кажется, что Ваши архитекторы являются набором взломанных обезьян. Я говорю это на основе архитектуры N-tier, с которой я должен работать.

21
ответ дан tsilb 23 November 2019 в 05:34
поделиться

Это - мое понимание, что N-Tier разделяет бизнес-логику, клиентский доступ и данные друг от друга использующего отдельные реальные машины. Теория состоит в том, что один из них может быть обновлен независимо от других.

3
ответ дан GregD 23 November 2019 в 05:34
поделиться

Это - модное словечко, которое относится к вещам как нормальная веб-архитектура с, например, уровень Javascript - ASP.Net - Middleware - Database. Каждой из этих вещей является "уровень".

15
ответ дан 1800 INFORMATION 23 November 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: