Написать движок

EA
На сайте с 15.02.2007
Offline
29
602

Появилась идея написать движок.

Прежде чем начать, хотелось бы больше узнать о "дырявости" существующих движков.

Как не наделать дыр ?

"Конкурс" (/ru/forum/201132) и "Фото конкурс" (/ru/forum/212504) для DLE.
РожденныйОсенью
На сайте с 05.01.2006
Offline
77
#1

Ничего не писать. А в чем, кстати, потребность? Чем он будет лучше остальных?

Проблемы зоны РФ (http://www.yaoptimizator.ru/2008/09/06/kirillicheskie-domeny/) Как заставить пользователей подписываться на RSS? (http://www.yaoptimizator.ru/2008/10/22/istoriya-sozdaniya-rss-kartinki/)
EA
На сайте с 15.02.2007
Offline
29
#2
Ничего не писать. А в чем, кстати, потребность? Чем он будет лучше остальных?

Самый правельный вопрос.

Насчёт не чего не писать, несогласен "попытка не пытка". Я кроме времени не чего не теряю, надоест или пойму что не смогу брошу.

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

deepslam
На сайте с 09.05.2006
Offline
204
#3

Прежде всего надо почитать книжки по программированию, определиться с задачей и начать писать.

Ошибки все равно будут, но это даже хорошо, т.к. способствует хорошему обучению.

Удаление вирусов на сайте (http://www.virusonsite.ru) | Scripto CMS - бесплатная система управления сайтом (http://www.scripto-cms.ru) |Профессиональный скрипт каталога ссылок , статей, фирм и объявлений! (http://www.scripto.ru) | Уникальный скрипт для публикации контента (http://publisher.scripto.ru)
EA
На сайте с 15.02.2007
Offline
29
#4
Ошибки все равно будут, но это даже хорошо, т.к. способствует хорошему обучению.

Это само собой, просто хочу узнать: что есть дыра, как её найти и как её залатать. Если можно пример.

Коля Дубр
На сайте с 02.03.2005
Offline
153
#5

el_aspect, в вебе в большинстве случаев "дыра" заключается в недостаточной обработке данных, пришедших от пользователя. Наиболее распространенные варианты описаны тута. На мой взгляд, реальную опасность представляют:

- SQL инъекция: данные копируются в SQL-запрос без обработки, злоумышленник может выполнить произвольный запрос

- XSS: в форму комментария вставляют, например, JS-код, отправляющий куку SESSID на мыло злоумышленника, так можно заполучить доступ к админскому аккаунту

Как реализовать защиту - есть много вариантов. Внимательно следите за теми частями кода, где данные извлекаются из $_REQUEST/$_SESSION, постарайтесь написать набор методов для обработки данных пользователя, и, по возможности, вызывать их автоматически/неявно.

От остальных видов уязвимостей, описанных в Wiki, вполне можно застраховаться, не используя некоторый функционал (не использовать eval(), не вызывать внешние программы через exec(), не подключать файлы динамически и т.д. - без всего этого вполне можно жить).

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

Кроме того, перед началом использования системы, дайте исходные коды на ревизию нескольким толковым разработчикам. Чтоб найти большую часть потенциальных уязвимостей, достаточно внимательно прочитать код.

Разрабатываю общую шину (http://habrahabr.ru/company/floxim/blog/268467/) помаленьку. ...а еще у меня есть бложек (http://www.blogovo.ru/).
Ayavryk
На сайте с 11.10.2003
Offline
209
#6

Если собираетесь писать собственную CMS лучше не начинать с нуля, а воспользоваться полуфабрикатами (фреймворками). Во-первых, как правило, в них проблемы инъекций и XSS уже решены. И во-вторых, резко упрощается расширяемость, улучшается читабельность кода, имеются классы доп. библиотек для наиболее распространенных функций.

см. например http://codeigniter.com/ или http://www.cakephp.org

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/
EA
На сайте с 15.02.2007
Offline
29
#7

Пасибо огромное, всё учту.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий