КодоБред → Феерические архитектурные подходы или Javascript наше всё
Моё кунфу сильнее, сказал Вася и продолжил дописывать замечательный сайт.
КодоБред → Дыры в форуме NetCat
Вы наверное уже слышали о CMS Netcat и даже видели кое-какие примеры кода этой CMS.
С тех пор ребята пообещали исправится и, кроме прочего, год назад пообещали выпустить новый форум через пол года. Воз и ныне там.
Более того, уже как год был найден баг, позволяющий очень просто писать на их форуме от имени любого пользователя. И этот баг до сих пор не был исправлен ни в версиях, что компания продает, не на сайте самой компании.
Вот я и решил поделиться этим багом.
1) Заходим в любую ветку форума, пусть для определенности будет эта.
1,5) Если вы залогинены, нужно выйти
2) Нажимаем Ответ
3) Вводим в поле «Имя пользователя» число.
Все!
Число, которое мы ввели и будет айдишником пользователя, от чьего имени появится сообщение.
Можно представить, какой бардак творится в коде у системы.
UPD. Сейчас форум на сайте компании закрыли. Если в ближайшее время появится патч, можно считать что я добился того, что хотел, публикуя эту статью.
С тех пор ребята пообещали исправится и, кроме прочего, год назад пообещали выпустить новый форум через пол года. Воз и ныне там.
Более того, уже как год был найден баг, позволяющий очень просто писать на их форуме от имени любого пользователя. И этот баг до сих пор не был исправлен ни в версиях, что компания продает, не на сайте самой компании.
Вот я и решил поделиться этим багом.
1) Заходим в любую ветку форума, пусть для определенности будет эта.
1,5) Если вы залогинены, нужно выйти
2) Нажимаем Ответ
3) Вводим в поле «Имя пользователя» число.
Все!
Число, которое мы ввели и будет айдишником пользователя, от чьего имени появится сообщение.
Можно представить, какой бардак творится в коде у системы.
UPD. Сейчас форум на сайте компании закрыли. Если в ближайшее время появится патч, можно считать что я добился того, что хотел, публикуя эту статью.
Веб-разработка → Хабрапоиск + Визуальный поиск в IE8
Категорически приветствую тебя %username%.
Не знаю как у Вас, а у меня ночью наступает «творческий порыв», о чем я обычно утром очень сильно жалею. Но не будем сейчас о плохом, т.к. пока не утро, то я еще успею поделиться одним из
Не знаю как у Вас, а у меня ночью наступает «творческий порыв», о чем я обычно утром очень сильно жалею. Но не будем сейчас о плохом, т.к. пока не утро, то я еще успею поделиться одним из
Персональные блоги → Перебор, бессмысленный и беспощадный
Этот кусок AS1-кода задаёт поведение нескольких кнопок. Орфография и пунктуация сохранены. Я уж прямо не знаю, смеяться или плакать — мне такого кода выдали пару десятков тысяч строк и сказали доделать…
onMouseDown = function() {;
if (btn_right._visible && btn_right.enabled) {;
if(btn_right.hitTest(_xmouse, _ymouse, 0)){;
btn_right_release();
};
};
if (ready._visible && ready.enabled) {;
if(ready.hitTest(_xmouse, _ymouse, 0)){;
ready_release();
};
};
if (ready2._visible && ready2.enabled) {;
if(ready2.hitTest(_xmouse, _ymouse, 0)){;
ready2_release();
};
};
if (yesno.no._visible && yesno.no.enabled) {;
if(yesno.no.hitTest(_xmouse, _ymouse, 0)){;
no_release();
};
};
if (yesno2.no._visible && yesno2.no.enabled) {;
if(yesno2.no.hitTest(_xmouse, _ymouse, 0)){;
no2_release();
};
};
};
КодоБред → Определение размера файла
function GetCountDesk($file) {
if (file_exists("$file")) {
$test = file("$file");
return(sizeof($test));
} else return(0);
};
КодоБред → Причины и следствия
Здесь я хочу поделиться с вами тремя примерами неадекватного кода. И в то же время постараюсь разобрать и классифицировать каждый случай. Тем самым расскажу не только «что такое плохо?», но и «почему?»
КодоБред → JavaScript
Сегодня на работе встретил в коде на JS довольно забавный кусок:
obj_.checked=(obj_.checked==true)?false:true;
obj_.checked=(obj_.checked==true)?false:true;
КодоБред → Интересный отрывок скрипта регистрации
Просматривал исходники одного проекта, зарубежный портал с возможностью публикации аудио-видео и т.д., не суть важно. И вот так там реализована регистрация пользователей, вернее — получение id пользователя при его регистрации.