- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
if ($_SESSION['USER_LOGIN_IN']) {
if ($Page != 'notice') {
$Num = mysqli_fetch_row(mysqli_query($CONNECT, "SELECT COUNT(`id`) FROM `notice` WHERE `status` = 0 AND `uid` = $_SESSION[USER_ID]"));
if ($Num[0]) MessageSend(2, 'У вас есть непрочитанные уведомления. <a href="/notice">Прочитать ( <b>'.$Num[0].'</b> )</a>', '', 0);
}
$Count = mysqli_fetch_row(mysqli_query($CONNECT, "SELECT COUNT(`id`) FROM `dialog` WHERE `recive` = $_SESSION[USER_ID] AND `status` = 0"));
if ($Count[0]) MessageSend(2, 'У вас есть непрочитанные диалоги ( <b>'.$Count[0].'</b> )', '', 0);
}
Кто хочет, может использовать данную уязвимость, потому что автор сего говна имеет сайт своего паршива, написанного по его же говноурокам. http://php.webtm.ru/
Архивы с говнокодом(больше лулзов) можно скачать тут http://php.webtm.ru/archive/
Группа вконтактке тут http://vk.com/php.youtube
Страничка автора говноуроков(да он думал что может скрыться) http://vk.com/vyjt3dfc1azyr0lilcq ранее назывался Артем Кодов
tau 16.05.2016 14:33 # +7
3_dar 16.05.2016 17:44 # +1
guesto 17.05.2016 00:03 # 0
чувак
ты сделал мой день
действительно. Все сессии же на сервере, все нормально с этим кодом
Keeper 17.05.2016 01:21 # −1
Vasiliy 17.05.2016 07:57 # 0
из говна if ($_SESSION['USER_LOGIN_IN'])
ну и без mvc
guesto 17.05.2016 10:24 # +1
расскажи мне что там у вас поменялось )
Vasiliy 17.05.2016 11:53 # −1
>`recive` = $_SESSION[USER_ID] AND `status` = 0"
Для чего тут препаред стейтмента ? для циферки которыю ты сам в сесию ложишь или для `status` = 0" ?
Или не в пхп
усливния пишут вот так
if (cond==1) {
if (cond==1){
// .........
}
}
что бы не наебаться?
Гуесто, что за хуйню ты несешь постояно? Я уже знаю что пхп ты не осилил. Чего ты ещё хочешь?
defecate-plusplus 17.05.2016 12:23 # +2
препаред стейтмент как бы для recive` = $_SESSION[USER_ID]
пыхоблядям неведома польза подготовленных выражений?
ну там, кеш планировщика запросов, например, или безопасность инжекта выражений?
Vasiliy 17.05.2016 12:31 # 0
А не ебошат хуйню, что бы как все.
> кеш планировщика запросов,
SELECT COUNT(`id`)
что он закеширует ?
>безопасность инжекта выражений?
$_SESSION[USER_ID]
`status` = 0
где тут возможность подмены.
В сессию программист сам присваивает значения.
Вы тоже ебошите if (cond) {if (cond){} } ? от не уверенности в себе?
Программист 1 должен руководствоваться целесообразностью.
Если в место того что бы сложить 1 +1 программист будет лепить очереди. То гнать его из профессии.
А теперь вопрос назовить хоть 1 причину для использования препаред стейтмент для запроса
"SELECT COUNT(`id`) FROM `dialog` WHERE `recive` = $_SESSION[USER_ID] AND `status` = 0"
Не для запросов в вакууме, а конкретно для этого запроса
guesto 17.05.2016 12:36 # +2
лол, это стандартная отмазка говнокодера. Целесообразность тут не причем вообще.
>>где тут возможность подмены.
строчкой выше $_SESSION['USER_ID'] = "; DROP DATABASE"'
>>А теперь вопрос назовить хоть 1 причину для использования препаред стейтмент для запроса
как было сказано выше -- чтобы не строить дважды план запроса
или ты не знаешь как работает планировщик?
ну я так и думал, ты же пхпист
defecate-plusplus 17.05.2016 12:40 # +3
потому что майскл лучшая субд, думать не следует, она всё равно нихуя не умеет
> где тут возможность подмены.
я вижу динамическое значение в запросе - эта возможность вот там
просто пыхопе такое уебище, что там настоящей проффессиональной пыхобляди неудобно написать sql в одном месте, а подставить аргументы - в другом
Василий, использовать подготовленные запросы везде, где есть динамический аргумент - это как руки перед едой мыть, ну или в душ перед ёблей сходить
только кому-то это дико, кому-то нравится сосать в грязном туалете и говорить, что это норма
Vasiliy 17.05.2016 14:29 # −2
$db->exec(' .... where user_id= '.$_SESSION['USER_ID']);
Давай расскажи мне про динамический аргумент. И беги обмазываться абстракцией.
guesto 17.05.2016 15:05 # +4
ахахаха
оказывается ты просто не знаешь даже что такое параметры для prepared statement
пиздец
Vasiliy 17.05.2016 15:06 # −4
guesto 17.05.2016 15:07 # −1
В БД есть анализатор запросов, который строит план. Когда он видит что запрос изменился, он вынужден заново строить план.
Потому в нормальных БД и нормальных языках используют препаред стейтменты, где запрос не меняется, а туда просто подставляются параметры.
даже в php так можно
http://php.net/manual/en/pdostatement.bindparam.php
но ты не знал
Vasiliy 17.05.2016 14:31 # +3
>>где тут возможность подмены.
строчкой выше $_SESSION['USER_ID'] = "; DROP DATABASE"'
сам попробуй сделать что ты написал. Когда получится тогда приходи.
Ты еблан пизди еще. Я хоть поржу.
guesto 17.05.2016 15:10 # −1
я же говорю: PHP "программисты" даже PHP не знают
1024-- 17.05.2016 16:07 # +2
Смотрите, уязвимый PHP, уязвимые программисты! Перед каждой строчкой можно написать mysql_query("DROP DATABASE pitux");
guesto 17.05.2016 16:10 # +1
программист всегда отвечает за свой код, потому всегда можно юзать глобальные переменные. И все в одном файле писать. И логику с SQL и с HTML мешать. Потому что программист же не уязвим
inkanus-gray 17.05.2016 16:17 # 0
guesto 17.05.2016 16:36 # +3
inkanus-gray 17.05.2016 16:40 # +3
Пожалуй, придётся согласиться, что страховка не помешает.
inkanus-gray 17.05.2016 16:34 # +2
Каждый такой запрос будет разбираться и компилироваться отдельно. Итого выражение будет компилироваться 9000 раз.
А теперь воспользуемся подготовленными выражениями:
В этом случае выражение будет скомпилировано один раз, а 9000 раз будет только подставлено значение параметра.
bormand 17.05.2016 19:04 # 0
- чтобы не тратить своё рабочее время на анализ каждого запроса и выбор "целесообразного для него приёма";
- чтобы потом, когда в этом запросе появится ещё какое-нибудь поле, не приходилось всё переписывать к хуям на препаред стейтменты.
Или единообразие и простота поддержки для PHP'шника не аргумент? Надо хуярить уникальный код под каждый кейс?
defecate-plusplus 17.05.2016 19:18 # +1
пыхоблядь пишет сайт за 30т.р. за 2 недели и перестает брать трубку
другая пыхоблядь берёт ещё 1-2 недели, дописывает сайт, добавляя в него ещё столько же пыходерьма, где намешаны sql и html, берёт 30т.р. и спираль истории повторяется
какое единообразие, какая простота поддержки??
inkanus-gray 17.05.2016 19:32 # +2
Тариф «Как у всех»: сделаем, как только брат нашего специалиста освободит компьютер.
Тариф «Как у всех+»: пока мы просто собираем заявки,
а потом сделаем все сайты разом!
Тариф «Крутой»: управимся за 2 недели!
guest 17.05.2016 21:54 # +5
--да
--а почему шепотом?
--я на алгебре
guest 17.05.2016 21:57 # +2
guesto 17.05.2016 12:39 # 0
достаточно грамотный, чтобы понимать что хуево писать без препаред стейтмента (достаточно погуглить php sql injection, ни в одном ЯП больше нет таких проблем) и и что хуево вшивать драйвер конкретной базы
у вас, бабуинов, PDO уже 15 лет как есть. но ни одна мартышка его не освоила. А зачем? Денис попов так писал, и мы так будем
Vasiliy 17.05.2016 14:27 # −4
guesto 17.05.2016 15:16 # 0
gost 17.05.2016 22:14 # 0
inkanus-gray 17.05.2016 22:17 # 0
inkanus-gray 17.05.2016 22:41 # 0
http://vk.com/php.mrshift
Да, айдишник группы всё тот же: http://vk.com/wall-91807331
Это свидетельствует о том, что php.youtube — это переименованная группа php.mrshit php.mrshift
inkanus-gray 17.05.2016 23:00 # +1
https://forum.mtasa.com/viewtopic.php?p=604894
guesto 17.05.2016 23:03 # +2
Лучше скажи почему у парня 69 на аватаре
inkanus-gray 17.05.2016 23:09 # +1
Sfabrikan 17.05.2016 23:53 # +1
Поздравляем, таким действием мы убили библиотеку table
Keeper 18.05.2016 08:28 # 0
Цитата со стены "ТЫ ЛАШАРА КОНСКАЯ ВЗЛОМАЛ С*КА!!!!!!!!!!!
ВСЕ МОИ ДРУЗЯ ЭТО НЕ МОЯ СТРАНИЦА ДОБАВЬ НАСТОЯЩЕГО МЕНЯ Я http://vkontakte.ru/id85947091"
inkanus-gray 18.05.2016 12:49 # 0
inkanus-gray 17.05.2016 22:49 # +3
Да, раньше оно называло себя Артёмом.
guest 17.05.2016 22:51 # +4
Там тебе высылают 10 яндекс кошельков, и нужно на каждый перевести по 10 рублей, а потом первый удалить, а внизу вписать свой, и разместить на как можно бОльшем количестве форумов.
Это кстати очень типичный вид деятельности в российском PHP сообществе.
bormand 18.05.2016 07:34 # +1
3_dar 18.05.2016 18:52 # 0
guesto 18.05.2016 19:54 # +3
Давайте я Вам расскажу. Вы наверное подумали "фу, это очередной спам", но дочитайте до конца! этот метод навсегда изменил мою жизнь. Давайте сюда Ваш емейл