-
Автор темы
- #1
Здравствуйте, товарищи.
Речь пойдет о "web-технологиях", точнее о их отсутствии(движки сайтов, плагины и различные скрипты).
С недавних пор на форуме начали появляться продукты, авторы которых не особо заморачиваются по поводу их корректного кода. С виду, всё выглядит, ну просто конфетка, но 75-80% покупателей, даже не предполагают, что у этой конфетки внутри.
Авторы некоторых таких продуктов, берут огромные деньги, пользуясь безграмотностью пользователей, собственно, точно так же как и во всём обществе. Некоторые из них даже, весьма, популярны.
Это касается как бесплатных, так и платных скриптов.
Я постараюсь вам помочь определить на что стоит обратить свое внимание, перед использованием каких-либо продуктов.
1. Если у того или иного автора есть свои бесплатные скрипты, то их можно скачать и посмотреть, как написан код(об этом позднее)
2. Не стоит доверять тем людям у которых нет своих Open Source продуктов
3. Даже если тот или иной продукт/автор популярен, обратите внимание на код(об этом позднее)
На что стоит обращать внимание в коде?
1. Разметка. Обратите внимание на отступы
Пример плохого кода:
Пример хорошего кода:
2. Вывод html кода через echo/назначение переменным html код.
Очень плохо, когда в php файлах вообще присутствует html.
Приведу пример из довольно известного продукта, который используют(вали) популярные minecraft проекты
Пример плохого кода:
3. Правилом хорошего тона, является объектно-ориентированное программирование(ООП).
Если в коде вы видите ключевые слова class, static, private, public, extends, abstract, __construct, __destruct и др., то данный код можно отнести к примеру хорошего тона.
Пример:
4. Мультициклы. Очень плохим тоном являются мультициклы - это когда один цикл, находиться внутри другого цикла, который в свою очередь находиться внутри третьего цикла и т.п.
Пример:
While, for, foreach, do while, всё это - циклы.
Даже одно вхождение цикла в другой цикл уже много, но не критично. Всё что больше на помойку.
5. Обязательно обращайте внимание на файловую структуру проекта. Файлы .php должны быть в одной директории, .html в другой, изображения в третей и т.п.
6. У каждого проекта должна быть документация. Пусть она даже будет небольшой, но будет.
7. Самое важно для каждого проекта, чтобы их не смогли взломать. Как это определить?
- Существуют довольно распространенные методы проверок на уязвимости. Для этого даже существуют программы, которые ищут уязвимости самостоятельно.
Есть один универсальный метод. Если в результате работы скрипта, вы натыкаетесь на ошибки warning, notice или просто белый экран, то в некоторых из этих случаев есть уязвимость.
Это можно определить и по коду.
Входящие данные, т.е. $_GET, $_POST, $_FILES никак не фильтруются, например
Это основные критерии выявления плохого продукта. Со временем буду добавлять.
Зачем мне это?
Я Иисус, который открыл вам глаза.
Накипело. Устал от того, как люди ведутся на внешний вид. Даже если проект красивый и/или функциональный, это не значит, что он сформирован и работает правильно.
Надеюсь, вы прислушаетесь к моим советам и перед использованием пройдетесь по пунктам выше, дабы потом не возникло проблем с вашим сайтом.
Речь пойдет о "web-технологиях", точнее о их отсутствии(движки сайтов, плагины и различные скрипты).
С недавних пор на форуме начали появляться продукты, авторы которых не особо заморачиваются по поводу их корректного кода. С виду, всё выглядит, ну просто конфетка, но 75-80% покупателей, даже не предполагают, что у этой конфетки внутри.
Авторы некоторых таких продуктов, берут огромные деньги, пользуясь безграмотностью пользователей, собственно, точно так же как и во всём обществе. Некоторые из них даже, весьма, популярны.
Это касается как бесплатных, так и платных скриптов.
Я постараюсь вам помочь определить на что стоит обратить свое внимание, перед использованием каких-либо продуктов.
1. Если у того или иного автора есть свои бесплатные скрипты, то их можно скачать и посмотреть, как написан код(об этом позднее)
2. Не стоит доверять тем людям у которых нет своих Open Source продуктов
3. Даже если тот или иной продукт/автор популярен, обратите внимание на код(об этом позднее)
На что стоит обращать внимание в коде?
1. Разметка. Обратите внимание на отступы
Пример плохого кода:
2. Вывод html кода через echo/назначение переменным html код.
Очень плохо, когда в php файлах вообще присутствует html.
Приведу пример из довольно известного продукта, который используют(вали) популярные minecraft проекты
Пример плохого кода:
Если в коде вы видите ключевые слова class, static, private, public, extends, abstract, __construct, __destruct и др., то данный код можно отнести к примеру хорошего тона.
Пример:
4. Мультициклы. Очень плохим тоном являются мультициклы - это когда один цикл, находиться внутри другого цикла, который в свою очередь находиться внутри третьего цикла и т.п.
Пример:
[IMG=asd]http://i.imgur.com/p6TbVgA.png[/IMG]
Даже одно вхождение цикла в другой цикл уже много, но не критично. Всё что больше на помойку.
5. Обязательно обращайте внимание на файловую структуру проекта. Файлы .php должны быть в одной директории, .html в другой, изображения в третей и т.п.
6. У каждого проекта должна быть документация. Пусть она даже будет небольшой, но будет.
7. Самое важно для каждого проекта, чтобы их не смогли взломать. Как это определить?
- Существуют довольно распространенные методы проверок на уязвимости. Для этого даже существуют программы, которые ищут уязвимости самостоятельно.
Есть один универсальный метод. Если в результате работы скрипта, вы натыкаетесь на ошибки warning, notice или просто белый экран, то в некоторых из этих случаев есть уязвимость.
Это можно определить и по коду.
Входящие данные, т.е. $_GET, $_POST, $_FILES никак не фильтруются, например
PHP:
$id = $_GET['id'];
$name = $_POST['name'];
Зачем мне это?
Я Иисус, который открыл вам глаза.
Накипело. Устал от того, как люди ведутся на внешний вид. Даже если проект красивый и/или функциональный, это не значит, что он сформирован и работает правильно.
Надеюсь, вы прислушаетесь к моим советам и перед использованием пройдетесь по пунктам выше, дабы потом не возникло проблем с вашим сайтом.