Шаблонизатор Smarty

Smarty – один из самых известных шаблонизаторов. Шаблонизатор нужен для разделения PHP-кода от HTML-кода. Если первый раз с этим сталкиваешься, преимущества такого подхода заметны не сразу, но потом ты удивляешься, как раньше мог обходиться без шаблонов. Особенности Smarty?

SimplePie SimplePie - это удобный php-класс для импорта RSS. Поддерживает следующие версии каналов: RSS (0.90, 0.91, 0.92, 1.0, 2.0), Atom (0.3, 1.0). Это open-source по лицензии BSD, т.е. в отличие от GPL-лицензии вы можете внедрять SimplePie в свои коммерческие продукты и не задумываться об оплате. подробнее о SimplePie

Данный код позволяет быстро сериализовать массив. Например, это нужно чтобы сделать update поля в базе, где значение лежит в виде сериализованного массива.
demo
исходный код ?

В этой статье я расскажу как отправлять данные из php скрипта методом POST (как это делает обычная html форма) а так же как использовать подделанные запросы для брутфорса. Взламывать будем пароль пользователя через форму логина. Брутфорс (от англ. «brutal» — грубый и «force» — сила) подразумевает подбор пароля тупым перебором возможных вариантов пароля. читать дальше?

вот такие вакансии иногда встречаются на хабре

Вакансия php-программиста

$a = 'y';
$a++;
echo $a;

++$a;
echo $a;

$a+=1;
echo $a;

$a = $a+1;
echo $a;

Что будет на экране?
еще задачки

Сделали социальную сеть по Ростехнадзору на основе 3-51 за 2 недели. Ресурс создан для общения экспертов по промышленной безопасности, работников Ростехнадзора и МЧС РФ, поставщиков оборудования и всех, кто интересуется вопросами промышленной безопасности.

Теперь вкратце на чем работает сайт:

  1. PHP (ООП)
  2. MySQL (InnoDB)
  3. Perl – отправка почты
  4. шаблонизатор Blitz
  5. библиотека DbSimple – интерфейс к БД
  6. библиотека JsHttpRequest – Ajax (в будущем перейдем на jQuery)

Довольно часто проблема кэширования возникает при тестировании скриптов на локальной машине.
Лекарство:

header("Expires: Mon, 08 Jun 1985 03:00:00 GMT"); // мой день рождения:)
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Last-Modified: ".gmdate('D, d M Y H:i:s')." GMT");

Не буду взламывать сервер, не буду использовать sql-инъекции, не буду воровать cookies. Потому что большинство этих способов уже не работает – дыры в почтовых сервисах залатывают. Большинство статей по взлому почты безнадежно устарели. Буду использовать социальную инженерию. читать дальше ?

Условия:

  • адреса должны быть активными
  • сбор адресов должен быть автоматизированным
  • количество адресов должно быть достаточным (более 100 000)
  • формат спам-листа: таблица в MySQL

приступаем?

<html>
<head>
<title>Yandex</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>         

<?php
if(!isset($_POST['submit'])) {
  echo '<form method="post" action="">
  <table>
  <tr><td>Сайт:   </td><td> <input name="site"  type="text" size="30"> </td></tr>
  <tr><td>Запрос: </td><td> <input name="zapros" type="text" size="30"></td></tr>
  <tr><td>Количесвто страниц: </td><td>
  <input name="count" type="text" size="30" maxlength="1" value="3"></td></tr>
  </table>
  <input type="submit" name="submit" value="Искать">
  </form>';
}
else {
 $pattern = '/<span style="color:#060;">'."\n".'(www.)*'.$_POST['site'].'(.*)/i';
 $zapros  = rawurlencode($_POST['zapros']);
 $site    = $_POST['site'];
 $count   = $_POST['count'];         

 // берем каждую страницу и парсим
 for($p=0; $p<$count; $p++){
    $link = 'http://www.yandex.ru/yandsearch?&p='.$p.'&text='.$zapros;
     $content = file_get_contents($link);         

     // берем содержимое отдельной страницы и парсим
  if(preg_match_all($pattern,$content,$page)) {
       echo '<b>'.$_POST['site'].'</b><br>'.$_POST['zapros'].'<br>';
         $content = explode('<div class="title">',$content);         

   // находим позицию сайта
   for($i=1; $i<=10; $i++) {
    if(preg_match($pattern,$content[$i])) {
     $poz = $p*10 + $i;
     echo '<a target="_blank" href="http://'.strip_tags($page[0][0]).'">'
             .strip_tags($page[0][0]).'</a><br>';
     echo 'Позиция: <a href="'.$link.'" mce_href="'.$link.'" target="_blank">'.$poz.'</a>';
     exit();
    }
   }
  }
 }
 echo 'нету :(';
}
?>

demo: http://ekimoff.ru/ya.php