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

    +44

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public function addHeadJS($src){
        $js_tag = '<script language="JavaScript" type="text/javascript" src="/'.$src.'"></script>';
    	if($this->is_ajax) { echo $js_tag; return true; }
    	$this->addHead($js_tag);
        return true;
    }

    Добавляет тег <script> с указанным путем
    @param string $src - Первый слеш не требуется
    @return true

    Запостил: Govnisti_Diavol, 04 Января 2013

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

    • А что не так то? Я делаю фактически тоже самое, что бы при подключении определенных модулей подключались их стили и скрипты.
      Ответить
      • Нормальные люди:
        // в представлении, разумеется
        assets :takoytojs


        Пыхопетушары:
        // насрано посреди index.pohape
        public function qoodQoodax($src){
            $qoqo_tag = '<script language="JavaScript" type="text/javascript" src="/'.$src.'"></script>'; // ЗАЧЕМ МНЕ ФИЛЬТРОВАТЬ XSS? У МИНЯ НЕТ ВРЕМЕНИ ЕБАТЦА С ЭТИМ! 
        	if($this->is_kurarikoo) { echo $qoqo_tag; return true; }
        	$this->addHead($qoqo_tag);
            return true;
        }
        Ответить
        • А
          assets :takoytojs
          в каком виде и под поддержкой чего будет работать?
          Ответить
    • По моему скромному мнению, вцелом лишнее только return true;
      Ебацца с XSS надо еще до входа данных в ф-цию, у нас ведь не $_GET['scr'] в ф-ции используется, а $src, следовательно все должно быть обрезано раньше. Ну и слеш конечно тоже лишний, не упомнишь: подставляет ли ф-ция начальный слеш или нет.
      Ответить
      • По мне не хватает проверки на наличие файла. И при его отсутствии неплохо бы возвращать false ну или исключение поднимать.
        Ответить
      • Насчет XSS и слеша - согласен . А вот заэкранировать не помешает.
        Ответить
      • Ну слэш добавляет совершенно напрасно.
        Мало того что добавить скрипт по относительному пути уже не получится, так ещё в коде будет выглядеть именно как добавление по относительному пути, а не по абсолютному, так как слэш добавляется всегда.
        Ответить
        • Имхо, вместо / эта функция должна приклеивать какой-нибудь "$baseDir/"... тогда относительные пути в ее вызове будут смотреться логично. А абсолютные пути, имхо, не стоит передавать лишний раз, потом сайт хрен передвинешь в другую папку.
          Ответить
    • это не говно, это в говне плавает. т.е. сама логика сомнительна
      Ответить

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