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

    +164

    1. 1
    2. 2
    3. 3
    if( empty( $page ) || empty( $_REQUEST['page'])) {
    	if( !empty($_REQUEST['amp;page'])) {
    		$page = $_REQUEST['amp;page'];

    из VirtueMart - компонента для Джумлы.
    интересно, почему нету проверок на $_REQUEST['amp;amp;page']; и $_REQUEST['amp;amp;amp;page']; ?

    Запостил: Shock, 17 Октября 2010

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

    • говно даже не тут, а в неправильном выводе урла, который потом сюда приходит.
      но когда не причину устраняют, а подставляют костыли, это и смешит и возмущает
      Ответить
      • та понятное дело. но урл подставляю тоже где-то в этом компоненте. следовательно.....
        Ответить
        • найти где. подозреваю htmlentities там без толку
          Ответить
          • или отказаться от такого говнокомпонента. смысл над собой издеваться? это ведь не в одном месте такое
            Ответить
    • Было бы очень хорошо, если бы Вы назвали версию продукта и строчки, в которых это обнаружено.
      Ответить
      • файл
        /**
         *
         * @version $Id: admin.virtuemart.php 2285 2010-02-01 10:57:18Z soeren_nb $
         * @package VirtueMart
         * @subpackage core
         * @copyright Copyright (C) 2004-2008 soeren - All rights reserved.
         * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
         * VirtueMart is free software. This version may have been modified pursuant
         * to the GNU General Public License, and as distributed it includes or
         * is derivative of works licensed under the GNU General Public License or
         * other free or open source software licenses.
         * See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.
         *
         * http://virtuemart.net
         */

        Строки 64-66

        Версия, я так понимаю, com_virtuemart_1.1.5.j15
        Ответить
        • Cкачан с официального сайта 2010.10.18 приблизительно в 18.00 UTC
          Ответить
        • Отлично. Всегда есть вариант, что это старая версия и уже давно всё пофиксили, но нет. Я и сам убедился, что это самый свежачок.

          Надо было продолжить код.
          foreach( $_REQUEST as $key => $val ) {
          			if( strstr( $key, 'amp;')) {
          				$key = str_replace( 'amp;', '', $key );
          				$_REQUEST[$key] = $val;
          			}
          		}
          Ответить
          • там весь код годится быть скинутым сюда
            Ответить
    • а виртуемарт до сих пор обертка пхп-шопа, или уже повеселее дело?
      Ответить
      • компонент для джумлы
        Ответить
        • я знаю. Просто когда последний раз с этим чудом сталкивался, то подобные вещи дико доставляли
          <?php echo $VM_LANG->_('PHPSHOP_FLYPAGE_LBL') ?>
          Ответить

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