- 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 ранее назывался Артем Кодов
чувак
ты сделал мой день
действительно. Все сессии же на сервере, все нормально с этим кодом
из говна if ($_SESSION['USER_LOGIN_IN'])
ну и без mvc
расскажи мне что там у вас поменялось )
>`recive` = $_SESSION[USER_ID] AND `status` = 0"
Для чего тут препаред стейтмента ? для циферки которыю ты сам в сесию ложишь или для `status` = 0" ?
Или не в пхп
усливния пишут вот так
if (cond==1) {
if (cond==1){
// .........
}
}
что бы не наебаться?
Гуесто, что за хуйню ты несешь постояно? Я уже знаю что пхп ты не осилил. Чего ты ещё хочешь?
препаред стейтмент как бы для recive` = $_SESSION[USER_ID]
пыхоблядям неведома польза подготовленных выражений?
ну там, кеш планировщика запросов, например, или безопасность инжекта выражений?
А не ебошат хуйню, что бы как все.
> кеш планировщика запросов,
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"
Не для запросов в вакууме, а конкретно для этого запроса
лол, это стандартная отмазка говнокодера. Целесообразность тут не причем вообще.
>>где тут возможность подмены.
строчкой выше $_SESSION['USER_ID'] = "; DROP DATABASE"'
>>А теперь вопрос назовить хоть 1 причину для использования препаред стейтмент для запроса
как было сказано выше -- чтобы не строить дважды план запроса
или ты не знаешь как работает планировщик?
ну я так и думал, ты же пхпист
потому что майскл лучшая субд, думать не следует, она всё равно нихуя не умеет
> где тут возможность подмены.
я вижу динамическое значение в запросе - эта возможность вот там
просто пыхопе такое уебище, что там настоящей проффессиональной пыхобляди неудобно написать sql в одном месте, а подставить аргументы - в другом
Василий, использовать подготовленные запросы везде, где есть динамический аргумент - это как руки перед едой мыть, ну или в душ перед ёблей сходить
только кому-то это дико, кому-то нравится сосать в грязном туалете и говорить, что это норма
$db->exec(' .... where user_id= '.$_SESSION['USER_ID']);
Давай расскажи мне про динамический аргумент. И беги обмазываться абстракцией.
ахахаха
оказывается ты просто не знаешь даже что такое параметры для prepared statement
пиздец
В БД есть анализатор запросов, который строит план. Когда он видит что запрос изменился, он вынужден заново строить план.
Потому в нормальных БД и нормальных языках используют препаред стейтменты, где запрос не меняется, а туда просто подставляются параметры.
даже в php так можно
http://php.net/manual/en/pdostatement.bindparam.php
но ты не знал
>>где тут возможность подмены.
строчкой выше $_SESSION['USER_ID'] = "; DROP DATABASE"'
сам попробуй сделать что ты написал. Когда получится тогда приходи.
Ты еблан пизди еще. Я хоть поржу.
я же говорю: PHP "программисты" даже PHP не знают
Смотрите, уязвимый PHP, уязвимые программисты! Перед каждой строчкой можно написать mysql_query("DROP DATABASE pitux");
программист всегда отвечает за свой код, потому всегда можно юзать глобальные переменные. И все в одном файле писать. И логику с SQL и с HTML мешать. Потому что программист же не уязвим
Пожалуй, придётся согласиться, что страховка не помешает.
Каждый такой запрос будет разбираться и компилироваться отдельно. Итого выражение будет компилироваться 9000 раз.
А теперь воспользуемся подготовленными выражениями:
В этом случае выражение будет скомпилировано один раз, а 9000 раз будет только подставлено значение параметра.
- чтобы не тратить своё рабочее время на анализ каждого запроса и выбор "целесообразного для него приёма";
- чтобы потом, когда в этом запросе появится ещё какое-нибудь поле, не приходилось всё переписывать к хуям на препаред стейтменты.
Или единообразие и простота поддержки для PHP'шника не аргумент? Надо хуярить уникальный код под каждый кейс?
пыхоблядь пишет сайт за 30т.р. за 2 недели и перестает брать трубку
другая пыхоблядь берёт ещё 1-2 недели, дописывает сайт, добавляя в него ещё столько же пыходерьма, где намешаны sql и html, берёт 30т.р. и спираль истории повторяется
какое единообразие, какая простота поддержки??
Тариф «Как у всех»: сделаем, как только брат нашего специалиста освободит компьютер.
Тариф «Как у всех+»: пока мы просто собираем заявки,
а потом сделаем все сайты разом!
Тариф «Крутой»: управимся за 2 недели!
--да
--а почему шепотом?
--я на алгебре
Из-за этого, например, в PDO и в Zend Framework prepared statements эмулируются (с риском для безопасности, да), чтобы не тормозило. Там можно отключить эмуляцию, но будет тормозить.
достаточно грамотный, чтобы понимать что хуево писать без препаред стейтмента (достаточно погуглить php sql injection, ни в одном ЯП больше нет таких проблем) и и что хуево вшивать драйвер конкретной базы
у вас, бабуинов, PDO уже 15 лет как есть. но ни одна мартышка его не освоила. А зачем? Денис попов так писал, и мы так будем
http://vk.com/php.mrshift
Да, айдишник группы всё тот же: http://vk.com/wall-91807331
Это свидетельствует о том, что php.youtube — это переименованная группа php.mrshit php.mrshift
https://forum.mtasa.com/viewtopic.php?p=604894
Лучше скажи почему у парня 69 на аватаре
Поздравляем, таким действием мы убили библиотеку table
Цитата со стены "ТЫ ЛАШАРА КОНСКАЯ ВЗЛОМАЛ С*КА!!!!!!!!!!!
ВСЕ МОИ ДРУЗЯ ЭТО НЕ МОЯ СТРАНИЦА ДОБАВЬ НАСТОЯЩЕГО МЕНЯ Я http://vkontakte.ru/id85947091"
Да, раньше оно называло себя Артёмом.
Там тебе высылают 10 яндекс кошельков, и нужно на каждый перевести по 10 рублей, а потом первый удалить, а внизу вписать свой, и разместить на как можно бОльшем количестве форумов.
Это кстати очень типичный вид деятельности в российском PHP сообществе.
Давайте я Вам расскажу. Вы наверное подумали "фу, это очередной спам", но дочитайте до конца! этот метод навсегда изменил мою жизнь. Давайте сюда Ваш емейл