PHP: различия между версиями
Небольшие правки
(Проблемные места) |
(Небольшие правки) |
||
Строка 57: | Строка 57: | ||
=== Избегайте типовых ошибок по информационной безопасности === | === Избегайте типовых ошибок по информационной безопасности === | ||
* Не вставляйте в ваш проект скопированный код, который не до конца понимаете. | |||
* Готовые PHP-приложения или модули к ним скачивайте только с официальных сайтов или из официальных публичных репозиториев. | |||
* Любые входящие снаружи данные могут быть подделаны злоумышленником или содержать инъекции чужого кода. Всегда проверяйте их формат и корректность перед использованием. | * Любые входящие снаружи данные могут быть подделаны злоумышленником или содержать инъекции чужого кода. Всегда проверяйте их формат и корректность перед использованием. | ||
* При загрузке файлов на сервер от пользователей, как минимум проверяйте расширение файла. А лучше загружайте файлы в отдельную | * При загрузке файлов на сервер от сторонних пользователей, как минимум проверяйте расширение файла на допустимые. А лучше загружайте файлы в отдельную папку с установленными ограничениями на возможность запуска любых скриптов и программ. | ||
* Не храните файлы с конфиденциальной информацией в публично доступных папках вашего проекта | * Не храните файлы с конфиденциальной информацией в публично доступных папках вашего проекта и не загружайте их в репозитории. | ||
== Проблемные места == | == Проблемные места == | ||
* PHP — узконаправленный язык, главное достоинство влечет и недостатки. Плохо подходит для других задач кроме написания веб-приложений. Если вы знаете хорошо только PHP | * PHP — узконаправленный язык, главное достоинство влечет и недостатки. Плохо подходит для других задач кроме написания веб-приложений. Если вы знаете хорошо только PHP, вам придется работать только веб-разработчиком. | ||
* Синтаксис языка (набор правил написания) скопирован из различных языков программирования (C, Java, Perl), это вызывает много споров и критики. | * Синтаксис языка (набор правил написания) скопирован из различных языков программирования (C, Java, Perl), это вызывает много споров и критики. | ||
* Язык прост для новичков, так как не ограничивает их в написании некачественного, низкопроизводительного и небезопасного кода. | * Язык прост для новичков, так как не ограничивает их в написании некачественного, низкопроизводительного и небезопасного кода. | ||
* Плохо подходит для сложных корпоративных и финансовых решений, где ущерб от сбоя или ошибок слишком высок. | * Плохо подходит для сложных корпоративных и финансовых решений, где ущерб от сбоя или ошибок слишком высок. |