Перейти к содержанию

PHP: различия между версиями

434 байта добавлено ,  00:45, 16 октября 2022
Небольшие правки
(Проблемные места)
(Небольшие правки)
Строка 57: Строка 57:
=== Избегайте типовых ошибок по информационной безопасности ===
=== Избегайте типовых ошибок по информационной безопасности ===


* Не вставляйте в ваш проект скопированный код, который не до конца понимаете.
* Готовые PHP-приложения или модули к ним скачивайте только с официальных сайтов или из официальных публичных репозиториев.
* Любые входящие снаружи данные могут быть подделаны злоумышленником или содержать инъекции чужого кода. Всегда проверяйте их формат и корректность перед использованием.
* Любые входящие снаружи данные могут быть подделаны злоумышленником или содержать инъекции чужого кода. Всегда проверяйте их формат и корректность перед использованием.
* При загрузке файлов на сервер от пользователей, как минимум проверяйте расширение файла. А лучше загружайте файлы в отдельную от вашего приложения папку с установленными ограничениями на возможность запуска любых скриптов и программ.
* При загрузке файлов на сервер от сторонних пользователей, как минимум проверяйте расширение файла на допустимые. А лучше загружайте файлы в отдельную папку с установленными ограничениями на возможность запуска любых скриптов и программ.
* Не храните файлы с конфиденциальной информацией в публично доступных папках вашего проекта
* Не храните файлы с конфиденциальной информацией в публично доступных папках вашего проекта и не загружайте их в репозитории.


== Проблемные места ==
== Проблемные места ==


* PHP — узконаправленный язык, главное достоинство влечет и недостатки. Плохо подходит для других задач кроме написания веб-приложений. Если вы знаете хорошо только PHP - вам придется работать только веб-разработчиком.
* PHP — узконаправленный язык, главное достоинство влечет и недостатки. Плохо подходит для других задач кроме написания веб-приложений. Если вы знаете хорошо только PHP, вам придется работать только веб-разработчиком.
* Синтаксис языка (набор правил написания) скопирован из различных языков программирования (C, Java, Perl), это вызывает много споров и критики.
* Синтаксис языка (набор правил написания) скопирован из различных языков программирования (C, Java, Perl), это вызывает много споров и критики.
* Язык прост для новичков, так как не ограничивает их в написании некачественного, низкопроизводительного и небезопасного кода.
* Язык прост для новичков, так как не ограничивает их в написании некачественного, низкопроизводительного и небезопасного кода.
* Плохо подходит для сложных корпоративных и финансовых решений, где ущерб от сбоя или ошибок слишком высок.
* Плохо подходит для сложных корпоративных и финансовых решений, где ущерб от сбоя или ошибок слишком высок.
Анонимный участник