Добро пожаловать, Гость!
Релиз Dcms-Social v.1.9.9 - Страница 3
Баги/обновления движка | Релиз Dcms-Social v.1.9.9



Релиз Dcms-Social v.1.9.9
3 Мая 2016Пишем о багах и ошибках.
Релиз - http://dcms-social.ru/plugins/download/file.php?id=141
update_1.9.8_to_1.9.9
http://dcms-social.ru/plugins/download/file.php?id=142
Последний раз редактировалось biket
4 Мая 2016
Комментарии:

kantry, Корневой файл сайта login.php
Проверочка
if (isset($in_get['id']) && isset($in_get['pass']))
А именно isset()
Делает проверку, установлена ли переменная.
И не важно пустая она или нет.
Всё что под ней, а именно
if ($user = $db->query("SELECT `id` FROM `user` WHERE `id` = ?i AND `pass` = ?",
[$in_get['id'], shif($in_get['pass'])])->el())
и т.д запустится...
То есть, на автологине, тупо пустые параметры
cite.ru/login.php?id&pass
Будет выдавать не Ошибка авторизации
а Неправильный логин или пароль
Оно конечно не чего, но зачем "поиски не чего"?
А empty() проверит, и наличие и содержание.
if (!empty($in_get['id']) && !empty($in_get['pass']))
То же самое и с $_POST
Мелочь, но "убили" двух зайцев))

kantry, Если временно, тогда да...
Параметризованный запрос, это уже иная "идея"
А так...
Например, alt + соответствующие цифры ниже
И текст
Попробуй до и после.
$value = str_replace(chr(226) . chr(128) . chr(174), '.', $value);
И на первый взгляд не опасно.
Развернуло текст, ну и что?
Но как не крути это "игра" с байтом, не стоит забывать о комбинациях - априори обширная тема.
Вижу ты уже "подрезал" null byte.
$search = array("", "x00", "n", "r", "'", '"', "x1a");
Ссылка
Информации море... Но опираясь на "оставил пока" видимо лишняя...

DoR, my_esc() оставил пока на подготовленые запросы не переписал, а чем эти символы не угодили?

kantry, Ну вот, все - ляп да ляп, ляп да ляп!
А ты взял и сделал! Ну от что сказать если ты молодец!
kantry ты красавчик!
Если есть желание, то в /sys/inc/fnc.php
В функцию my_esc()
Поверх array() добавь
$value = str_replace(chr(226) . chr(128) . chr(174), '.', $value);
Уберёт разворот байта.
И в /ajax/php/smiles.php
Счётчик поменяй на этот
echo '('.$db->query("SELECT COUNT(*) FROM `smile` WHERE `dir` = '$dir[id]'")->el().') ';
А так же...
Есть такой класс safemysql
Ссылка
Да он древний...
Но лёгкий, простенький и шустрый а так же очень экономит код.
Работает так же, через плейсхолдер и белый лист.
А подшаманить класс, и для социала и будет песня.
Всё таки умеешь приятно удивлять.
Хорошее дело делаешь! Удачи тебе kantry.



kantry, хоть-то кто занялся .не проверял что там у тебя . будет время подкину дефолтных исправлений в репозиторий)
______________________
Я есть сущность

Социалом никогда не пользовался, так залезешь в какой нибудь файл, подскажешь как исправить и все.
А тут как то решил поставить себе на сервер(настройками могу манипулировать любыми) это пеестец какой то

Пока что смог регекспами заменить, переписал на mysqli, работает теперь на php 7.
Подготовленые запросы регулярками не осилил, ручками пока лень писать))
Желаюшие могут внести свою лепту.
Не уверен что это кому то надо, проще скопипастить, из 2009-ого года код и впарить его на gix-e:-D

foxik, Просто все можно отдельно закрыть, главное знать как и где искать

______________________
Pro100i