1. Куча / Говнокод #756

    +141.2

    1. 1
    https://********/clients.php?cls_last_name_filter=&cls_first_name_filter=&cls_login_filter=&cls_connection_type_name_filter=&cls_street_name_filter=&cls_house_filter=14&cls_letter_filter=&cls_entrance_filter=&cls_floor_filter=&cls_apartment_filter=5&cls_deposit_filter=&cls_threshold_filter=&cls_access_admin_filter=&cls_access_period_filter=&cls_access_deposit_filter=&cls_access_firewall_filter=&cls_access_limitations_filter=&cls_aux_name0=&cls_aux_value0=&cls_aux_name1=&cls_aux_value1=&cls_phone_filter=&cls_email_filter=&cls_contract_filter=&cls_abon_filter=&cls_ct_plan_filter=&cls_subscription_filter=&cls_use_plan_filter=&cls_use_actual_filter=&cls_block_cur_filter=&cls_reduction_cur_filter=&cls_credit_cur_filter=&cls_miss_filter=&cls_created_filter=&cls_created_name_filter=&cls_modified_filter=&cls_modified_name_filter=&cls_id=3572&cmenu_selected=ho&chts_brief=0&chts_id=4038&cls_page=2#cls

    //re #755
    это веб интерфейс биллинга ISP :)

    Запостил: guest, 22 Марта 2009

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

    • inso:
      биллинг на php...
      наверное сложно разработчику реализовать, чтоб пустые фильтры не передвавались GET-ом
      Ответить
    • Gemorroj:
      и что в данном подходе криминального?
      Ответить
    • автор_#755:
      > и что в данном подходе криминального?
      таким запросам не место в get, так как во-первых отображается то что не должно быть на виду, во-вторых это явно говорит о том что разработчики возможно и думали о безопасности(?) но никак не о эффективной эксплуатации системы
      т.е. если страница должна иметь возможность положить в закладки, то в все равно не нужно называть переменные !целыми предложениями! как в говнокоде что ниже я запостил типа hotelPackageWizard_hotelPackageWizardCon trol_hotelWidgetControl_hotelSearchRegio nControl_hotelRegionTypeControl_inpRegio nType
      а ведь это не php-шники писали а asp-шники, причем на крупном мировом портале
      Ответить
    • страйкер:
      а какие есть варианты более достойной реализации? Не отсылать незаполненные поля можно реализовать только с помощью js. Либо на стороне сервера получать все переменные и редиректить уже на страницу поиска, предварительно исключив все пустые поля. Еще есть вариант с хранением всех переменных поиска в сессии или POST (хотя POST больше подходит именно для модификации сущностей, а не для отображения), но и этот вариант несёт с собой кучу граблей.
      Ответить
    • автор_№755:
      страйкер, тут вопрос даже не по какому каналу отсылать запрос а в крике души:)
      сижу пью пиво, зашел на очень ну очень крупный мировой сервис и набрал сайдбар форму .. в итоге вот это мне выдала она
      и когда такой тяжеловес кладет своим толстым на "стандарты" что уже говорить о мелких .. я понимаю что времена ограничений на get со стороны браузеров и серверов уже позади .. но все же есть некий "стандарт" http а не Войну и Мир в get запихнуть и передавать в БД
      Ответить
    • cheef:
      Согласно тому же http-стандарту, в url есть параметр query_string. Всё что подходит под него, должно быть в урле, а остальное - лишнее.
      В приведённом примере не всё так однозначно, возможно фильтры стоит передавать как раз POST-ом, в виде массивов, а, например, page в урле.
      Ответить
    • Зато в случае с GET будет работать кэширование.
      Ответить
    • А у нас так сделана передача всех параметров(судя по всему в ticket вся соль):
      https://******.ru/services/traf?ticket=*24B*24CAIDGDEJ*24bKY8ZsX2XX 0na1JjmBlwgA*1cUAEIFDJ
      Ответить

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