Код безопасности для PHP
Что такое безопасность кода?
А также что такое обфускатор? Есть ли у них основные сходства?
Я слышал о проблемах безопасности кода. Как мы можем защитить наш код в php? Насколько это необходимо для обеспечения безопасности нашего кода и как?
3 ответа
Защищенный код таков, что имеет мало уязвимых мест или не имеет их, которые могут быть использованы злоумышленниками.
Запутанный код - это код, который намеренно сделан трудным для чтения.
Неясный код - это код, который непреднамеренно трудно прочитать, а также, вероятно, небезопасен.
Статья " Обфусцированный код" в Википедии хороша для вас:)
Запутанный код - это исходный или машинный код, который трудно понять. Программисты могут преднамеренно запутывать код, чтобы скрыть его назначение или его логику, чтобы предотвратить взлом, помешать обратному инжинирингу или в качестве головоломки или развлекательной задачи для читателей. Это форма безопасности через безвестность. Программы, известные как обфускаторы, преобразуют читаемый код в обфусцированный код, используя различные методы, которые могут вызвать механизм анти-отладки, анти-декомпиляции и анти-разборки. Обфускация кода принципиально отличается от аппаратной обфускации, когда описание и / или структура схемы модифицируется, чтобы скрыть ее функциональность.
Короче говоря, безопасность кода означает, что ваш код делает то, что вы хотите, и ничего больше. Плохо написанный, небезопасный код может иметь побочные эффекты, которые пользователи могут использовать. SQL-инъекции - хороший пример.
Очень необходимо писать безопасный код, особенно для проектов с открытым исходным кодом, где другие пользователи могут легко найти ваши уязвимости в противном случае. Что касается того, как писать безопасный код, это немного более сложный вопрос. Лучший ответ будет с опытом. Трудно защитить ваш код от чего-либо, прежде чем вы поймете, от чего его защищать. Однако здравый смысл и некоторые основные шаги, такие как всегда избегание небезопасного пользовательского ввода, имеют большое значение.
Обфусцирующий код просто берет читаемый пользователем код и превращает его во что-то, что не так читается. Есть много причин для этого. Одна из причин - усложнить поиск уязвимостей в вашем коде, но это никоим образом не предотвращает его. Другая причина состоит в том, чтобы людям было труднее вносить изменения в ваш код, что вы, возможно, захотите сделать для коммерческого программного обеспечения. Но в этом случае есть и лучшие альтернативы, например, использование Zend Guard.