LINUX.ORG.RU

Сессия, однако


0

0

Вот, готовимся потихоньку =)
Написал движок чтоб можно было добавлять и редактировать вопросы.
Всё бы ничего, да он оптимизирован под просмотр с мобильных устройств =)

кому надо - скину исходники

>>> Просмотр (1024x768, 149 Kb)



Проверено: Pi ()

Предлагаю доработать это следующим образом: после добавления списка вопросов система сама гуглит и компанует на них ответы ...

Vitel ★★
()

в заголовке белое на белом. не стыдно?

polachok
()

неудачный закос под кде (с)

anonymous
()

> А по матану ответы есть?

найдешь у кого - закину в базу =) а щас пока только общими силами вбиваем по финансам и кредиту =)

> в заголовке белое на белом. не стыдно?

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

temy4
() автор топика

можно плз сорцы на Sd[dot]Zm1y[at]gmail[dot]com

aramiz
()

А у кого нету конспектов в е-виде?!

Arceny ★★
()

За пхп и зенд-студио низачот. А так вроде не сильно страшно.

troorl ★★
()

ААА!!! Быдлопрограмма на быдлоязыке в быдлоIDE c быдлответами на быдловопросы по быдлопредмету!!! ААА!!!

Так, своим разрешу пожалуй приходить с ноутами. Чтоб так не мучались. Благо не первый курс.

sv75 ★★★★★
()
Ответ на: комментарий от sv75

Посмотрев на оформление окон и загадочную полоску вверху, вынужден добавить: "в быдлоKDE" >_<

sv75 ★★★★★
()

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

sv75 ★★★★★
()

vasylko.pupkin@gmail.com please

anonymous
()

Вопрос в твой движок: Если засунуть в строку браузера что-то вроде &tbl_prefix=*;DELETE * FROM ... и т.д. откуда php возьмет переменную ?

Syncro ★★★★★
()

sv75, и сколько внимания от быдлопрепода!

> Вопрос в твой движок: Если засунуть в строку браузера что-то вроде &tbl_prefix=*;DELETE * FROM ... и т.д. откуда php возьмет переменную ?

ну если так хочешь, я врублю register globals

З.Ы.: извини уж, придирусь, мускуль выругается на '*' ;)

;)

temy4
() автор топика

а можно и мне исходники почитать?
dementor sobaka inbox dot ru

anonymous
()

Писал подобную вещь на третьем курсе, к одному экзамену, исходники потерял, правда.

На ГОСах решил просто заюзать wordpress, на мобильниках неплохо просматривался, да и с кодингом заморочек не было.

it-partizan
()

Ах да, по скрину:

* использовать phpmyadmin на локалхосте - как минимум пошло, имхо;

* смысла вехней панели при таком разрешении не понял, амароком лучше через Global Hotkeys управлять, а если надо мышой, то в треевой иконке по правой кнопке все это есть (Вперед, Назад, Плей/Пауза);

* вместо ZendStudio советую Eclipse+PHPEclipse+ОстальноеПоВкусу, хотя для такого проекта и Kate или vim было бы достаточно;

* писать свой личный велосипед в наш век развитых фреймворков (особенно во время сессии, когда времени и так нет) так же считаю нелогичным. В качестве подсказки - symphony, cakephp;

* ну и неплохо было бы кодировку в страничке с админкой прописать, а то на самом сайте есть (хотя почему cp1251, а не тот же utf8, не понятно), а в админке нету;

Ну если пришлешь исходники на kurinniy_at_gmail.com - погляжу, просто интересно.

it-partizan
()

Чем наверняка ворованый Zend, лучше бы Eclipse + PDT поставил был.

svyatogor ★★★★★
()

Не знаю, что это за zend, но такое ощущение, что оно в вайне запущено. Про eclipse уже говорили.

Bohtvaroh ★★★★
()
Ответ на: комментарий от temy4

> sv75, и сколько внимания от быдлопрепода!

Заметьте, вашу личность я не обсуждал.

Нет, если вы вместо MVC/шаблонов для того же PHP собираетесь ваять кривейшие (по коду видно) велосипеды - вы, конечно, быдлостудент. Поздравляю.

> ну если так хочешь, я врублю register globals

OMG.

sv75 ★★★★★
()
Ответ на: комментарий от sv75

Вообще тут и magick quotes не поможет(про register globals вообще молчу %) ), да и выкинули в новой версии PHP его. А вообще вот до чего доводит быдлокодинг =(

anonymous
()
Ответ на: комментарий от anonymous

Блин, серьезно, тупые SQL-инъекции: Логин: <тут логин админа>' or 1=1/* Пароль любой.

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

anonymous
()

Вопрос ко всем "комментаторам": какие связки php+debugger существуют? Судя по комментариям, единственное OS решение это Eclipse+plugins, или есть что-то еще?

По-скрину: цвета спокойненькие, мне понравилось

enby ★★
()

t-partizan, спасибо за конструктивные (я без сарказма) комментарии

Bohtvaroh, не в вайне, просто он на жабе =)

> Блин, серьезно, тупые SQL-инъекции: Логин: <тут логин админа>' or 1=1/* Пароль любой.

у меня есть функция проверки переданных данных (через что они пришли)

> > ну если так хочешь, я врублю register globals

Да, представь себе, они у меня вырублены, более того, разумные люди ее сразу отрубают как только видят эту директиву в php.ini ;)

temy4
() автор топика
Ответ на: комментарий от enby

Не знаю как на счет OS-решения php+debugger, пользовался phpeclipse+xdebug plugin несколько раз, но зачастую хватает обычных print_r и var_dump, благо не приходится кодить какую-то замороченную логику, для которой может понадобится дебаггер.

it-partizan
()

Кстати, что заметил, на ЛОРе разумные люди сидят, пользующиеся ящиками гмэйл =)

temy4
() автор топика

скинь пожалуйста исходники limmenz собака gmail точка com

limmenz
()

скинь исходники на intelegator[собака]gmail[точечка]com

anonymous
()

Для кодинга под LAMP вполне и Kate хватит, imho :) Стиль кода мне не нравится, честно...

P.S. Register Globals влияет только на передачу переменных, к SQL-иньекциям никакого отношения не имеет и разумеется у адекватных сисадминов всегда выключена. P.P.S. Удачной сессии!

dmitry_r
()
Ответ на: комментарий от temy4

>> Блин, серьезно, тупые SQL-инъекции: Логин: <тут логин админа>' or 1=1/* Пароль любой.

>у меня есть функция проверки переданных данных (через что они пришли)

Ладно, объясняю по порядку:

1. Открываем скриншот, видим адрес: http://temy4.mooo.com/

2. Заходим по адресу, жмем "Добавить".

3. От нас требуют логин и пароль админа:

Логин: <тут твой логин>' or 1=1/* Пароль: <пишем что угодно>

4. Жмем войти, мы в админке.

Попробуй сам, это работает. Ошибка есть, исправляй. Тебе надо перед тем как логин и пароль подставлять в MySQL-запрос экранировать все кавычки и т.п.

anonymous
()
Ответ на: комментарий от anonymous

Вообщем там где ты пишешь:
$query = "SELECT * FROM table WHERE foo='".$_POST['login']."' AND bar='".$_POST['password']."'";
Нужно писать:
$query = "SELECT * FROM table WHERE foo='".mysql_escape_string($_POST['login'])."' AND bar='".mysql_escape_string($_POST['password'])."'";

Иначе отправив в качестве логина строку "' OR 1=1/*" и в качестве пароля "abcdef" получим запрос:
SELECT * FROM table WHERE foo='' OR 1=1/*' AND bar='abcdef'

/* -- в MySQL начало комментария, то есть реальный запрос будет:
SELECT * FROM table WHERE foo='' OR 1=1

То есть в любом случае независимо от пароля вернутся все поля, для которых 1=1. То есть вообще все поля таблицы. В итоге попадем в админку с первым попавшимся логином.

Вообщем экранируй все с помощью mysql_escape_string и бага не будет.

anonymous
()

dmitry_r, спасибо =)

> Попробуй сам, это работает

и тебе спасибо, понял и пофиксил ошибку путем добавления небольшого регэкспа (не только с ковычкой) =)

temy4
() автор топика
Ответ на: комментарий от temy4

А почему regex, чем не устраивает mysql_escape_string? mysql_escape_string лучше, его поддерживают разработчики PHP и он предназначен именно для работы с MySQL. Обновится PHP - обновится и mysql_escape_string. А у своего решения в будущем могут появиться проблемы(как пример - такие проблемы появились у многих программ с юникодом из-за того что в нем байт 0x00 не всегда обозначает конец строки).

anonymous
()
Ответ на: комментарий от anonymous

Ну не ужели строка /[\'\/\*\s]/ на столько сложна чтоб были проблемы совместимости, поменьше телодвижений, уважаемый, поменьше... =)

temy4
() автор топика
Ответ на: комментарий от temy4

Стандартная функция проще. А regex можно через poisoned null сломать с некоторыми модулями и необработанная строка в часть функций пройдет. >поменьше телодвижений, уважаемый, поменьше... =) Повторное использование кода это теперь лишние телодвижения? К проблемам совместимости любое нестандартное решение приведет в итоге. Пока юникод не появился все тоже по байту читали и с нулем сравнивали. А пока 2000 год не наступил год вводился как две цифры(19xx). Стандарты на функции не просто так ведь пишутся.

anonymous
()
Ответ на: комментарий от temy4

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

cobold ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.