1. PHP / Говнокод #18706

    +7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    $cachefile = __DIR__. "/cache/".hash("md5", json_encode($_GET));
    
    if (file_exists($cachefile))
    {
      include($cachefile);
    }
    else
    {
    ob_start();
    
    do_something();
    
    $fp = fopen($cachefile,"w");
    fwrite($fp, ob_get_contents());
    fclose($fp);
    ob_end_flush();
    }

    Кэширование для инвалидов, применяется во внешнем API.

    Запостил: nihirash, 10 Сентября 2015

    Комментарии (7) RSS

    • Ебать как я смеялся. Автору плюс!
      Ответить
    • Банальный DOS:
      i=0
      while [ $i -lt 100000 ]; do
        curl -s http://your/api/?q=$i > /dev/null 2>&1
        let i=i+1
      done
      Интересно, как быстро кончится место на диске...
      Ответить
    • > include($cachefile);
      Т.е. в теории, если уговорить скрипт, чтобы он на выхлопе сформировал и "закешировал" тег <?php (например запостить сообщение с ним и обновить страничку), то при загрузке из "кеша" он исполнится...
      Ответить

    Добавить комментарий