Разделы
Veselov CV | vvShop © 2008 – 2022
Контакты
email:
skype:

Критическая уязвимость DLE 8.2


Недостаточная фильтрация входящих данных в модуле восстановления пароля. Очень-очень опасно!

Ошибка в версии: только 8.2, версии ниже 8.2, а также актуальная версия 8.3 данной уязвимости не подвержены

Степень опасности: Очень высокая.

Как это работает:

Вы обращаетесь по адресу site/index.php?do=lostpassword&douser=1&lostid=

...и получаете свеже испеченый логи и пароль админа

Поэтому: следите за обновлениями и переименовуйте admin.php. А те подованы которые ломали этот сайт педики!

Скачать патч: Скачать патч

Картинка в стороне от текста без обтекания


К примеру есть на сайте набор вот таких блоков: картинка + заголовок + выдержка.
В коде соответственно имеем:

”"

Heading


text tex text text text text



Cуть проблемы в том что заказчик хочет картинку с одной стороны блока и текст с другой. И это при том что картинка может быть какого угодно размера.

Итак первое и очевидное сделать float:left; картинке, но тогда появится обтекание. Если бы знать размеры картинок - можно бы было задать ширину для выдержки и заголовка. Но в том то и дело что картинки эти могут быть любыми. Казалось бы без таблиц не обойтись, а не тут то было, можно:
div.post p{ 
display: table;
_height: 0;/*это для ИЕ5-6*/
zoom: 1;/*это для ИЕ7*/
}


Эта приблуда должна работать в Opera 7-8, Firefox 1.0, Safari 1.2.4, IE/win

Хак DLE ограничение длины новости


Не сложно догадаться, что я тесно связан с разработкой сайтов на коммерческой CMS - DLE.

И не давно столкнулся с проблемой которую никогда не видел. Оказуется длинна поста в fullstory ограничена в БД полем типа TEXT. Все что больше определенной длины вырезается.

Что бы избежать этой проблемы нужно указать тип LONGTEXT. Всего-то -)

Фап в интерпретатор PHP


Еще регулярные выражения и парочка полезных функций, честно скопипастеный где-то на просторах интернета:

Яндекс тИЦ
function cy($url){ 
preg_match("/value=\"(.\d*)\"/", join("", file('http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://'.$url.'/')), $tic);
return($tic[1]!=""?$tic[1]:0); }


Яндекс число страниц в индексе
function ya_stat($url){
$str=file_get_contents("http://yandex.ru/yandsearch?numdoc=10&serverurl={$url}");
preg_match("\/(.*)нашл(.*)сь(.*)страниц(.*)/s", $str, $find); $res=$find[3];
if(preg_match("/(.*)ничего не найдено(.*)<\/title>/s", $str)) {$res=0;}<br>$res=str_replace(" ","",$res);<br>$res=str_replace("млн","000000",$res);<br>$res=str_replace("тыс.","000",$res);<br>return $res;}</code></pre> <br> <br> <b>Веб прокси</b><br> <pre><code>echo file_get_contents($_GET['q']);<br>$content=file_get_contents("http://урл.сайта/имя.скрипта?=".$url); </code></pre> <br> <br> <b>LiveInternet статистика</b><br> <pre><code>function listat($url){<br>$content = file_get_contents("http://counter.yadro.ru/values?site=".$url); <br>preg_match_all("|LI_([^ ]+) = (\d*);|",$content,$ok);<br>for($i=0; $i<count($ok[1]); $i++) $info[$ok[1][$i]]=$ok[2][$i];<br>return $info;}<br><br>$ff=listat($url);<br>$w_vis=floor($ff[week_vis]/7);<br>$w_hit=floor($ff[week_hit]/7);//Средняя посещаемость за последнюю неделю<br>$li_vis=$ff[day_vis];<br>$li_hit=$ff[day_hit];//И дневная посещаемость<br>echo "Week $w_vis / $w_hit, today $li_vis / $li_hit";</code></pre> <br> <br> Информация для счетчика <b>LiveInternet</b>. Показывается для всех сайтов, которые не закрыли отображение инфы на счетчике (даже если сама статистика закрыта). Удобно как анализировать чужие сайты, так и просматривать суммарную посещаемость своих. <div class="post-footer"> 13.11.09 / Категории: <a href="/blog/">Блог</a> / <a href="/blog/php/">PHP</a> / Теги: <a href="/tags/php/">php</a>, <a href="/tags/%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D0%B5+%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5/">регулярное выражение</a>, <a href="/tags/%D0%BA%D0%BE%D0%B4/">код</a>, <a href="/tags/%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D1%8B/">скрипты</a><span class="com_link"><a href="/218-fap-v-interpretator-php.html#comment">Комментировать (0)</a></span> </div> </div> <div class="post"> <h3><a data-pjax="" rel="nofollow" href="/217-regulyarnye-vyrazheniya.html" title="Постоянная ссылка">Регулярные выражения</a></h3> <hr> Последнее время очень часто приходиться сталкиваться с регулярными выражениями. И для понимания они очень сложны. Повторить по памяти выражение я не смогу поэтому выложу сюда как записку для себя и как заметку для вас:<br> <br> <b>Удалить определенную ссылку</b>:<br> <pre><code>$text=preg_replace("~<a href=\"http://www\.aaa\">[^<]+?</a>~",'',$text);</code></pre> <br> За это решение спасибо setty<br> <br> <b>Удалить спецсимволы</b>:<br> <pre><code>$text = preg_replace ("~(\\|\*|\?|\[|\?|\]|\(|\$|\))~", "",$text);</code></pre> <br> <br> Вывести число подписчиков в <b>FeedBurner</b>:<br> <pre><code>function fb($feed){<br>$s=file_get_contents("http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri={$feed}");<br>preg_match('/circulation="(\d+)"/', $s, $a);<br>return $a[1];}</code></pre> <br> <br> Выводим <b>Alexa Rank</b>:<br> <pre><code>function alexa($url) {<br>preg_match('#<div class="data .+?">(.*?)</div>#si', file_get_contents("http://www.alexa.com/siteinfo/{$url}"), $a); <br>return trim(str_replace(",","",strip_tags($a[1])));}</code></pre> <div class="post-footer"> 12.11.09 / Категории: <a href="/blog/">Блог</a> / <a href="/blog/php/">PHP</a> / Теги: <a href="/tags/%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5+%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/">регулярные выражения</a>, <a href="/tags/%D0%BF%D1%85%D0%BF/">пхп</a><span class="com_link"><a href="/217-regulyarnye-vyrazheniya.html#comment">Комментировать (0)</a></span> </div> </div> <div class="post"> <h3><a data-pjax="" rel="nofollow" href="/215-prosto-i-udobno-otpravka-po-ctrlenter.html" title="Постоянная ссылка">Просто и удобно, отправка по Ctrl+Enter</a></h3> <hr> Собственно код:<br> <pre><code><script type="text/javascript"><br>function ctrlEnter(event, formElem)<br> {<br> if((event.ctrlKey) && ((event.keyCode == 0xA)||(event.keyCode == 0xD)))<br> {<br> formElem.submit.click();<br> }<br> }<br></script><br><form action="send.php" method="post" onkeypress="ctrlEnter(event, this);">...</form></code></pre> <br> <br> зы: Сменил хостера (ну и домен самосабой кто не заметил) <a href="/">сайт</a> должен на порядок быстрей грузиться. <div class="post-footer"> 18.10.09 / Категории: <a href="/blog/">Блог</a> / <a href="/blog/js/">JavaScript</a><span class="com_link"><a href="/215-prosto-i-udobno-otpravka-po-ctrlenter.html#comment">Комментировать (0)</a></span> </div> </div> <div class="pagin"> <a href="/page/326/">«</a> <div class="pages"> <a href="/">1</a><span class="nav_ext">...</span>318319320321322323324325<a href="/page/326/">326</a><span>327</span> </div> <span>»</span> </div> </div> <a href="#0" class="cd-top">Вверх</a> <link href="//fonts.googleapis.com/css?family=Ubuntu:400,700,400italic&subset=latin,cyrillic" rel="stylesheet" type="text/css"> <script src="//code.jquery.com/jquery-2.1.3.min.js"></script> <script src="/templates/v/js/1.js?17"></script> </body> </html>