ФорумПрограммированиеPHP для идиотов → проверка почтового ящика на сервере

проверка почтового ящика на сервере

  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 13 ноября 2009 г. 12:56, спустя 5 минут 10 секунд

    Скорее всего "ера веб-разработки" закончиться, и в истории будет помнится дурной славой.
    Вывод: надо побыстрее переходить на прикладной девелопинг. Там такого бардака явно меньше и все обстоит намного серьезнее.
    Спустя 256 сек.
    Абырвалг,
    Ну смотри - то что и на гвонокод.ру….
    когда формируется урл site.ru/e-store/18/3/
    то чтобы корректно отобразить страницу, больше никакие параметры дополнительные не поканают.
    Как известо в битриксе в гет запросе сами по себе всегда цепляються по 5-10 раз одни и те же пармаметры(например те же bitrix_include_areas=Y)
    тоесть выйдет так - site.ru/e-store/18/3/?bitrix_include_areas=Y&bitrix_include_areas=Y&bitrix_include_areas=Y&bitrix_include_areas=Y&bitrix_include_areas=Y
    да не важно сколько раз, в єтом - плане хоть и 1, но суть одна и та же - страница тогда НЕ прочтется вообще. Выдаст еррор и все.
    Жопа, не правда ли)?
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 13 ноября 2009 г. 13:07, спустя 10 минут 20 секунд

    гавно какое-то. Что это за include_areas? поцчему перед тем как парсить урл не обрезают все, что справа от "?" ?
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 13 ноября 2009 г. 13:25, спустя 18 минут 20 секунд

    Абырвалг, А ты меня это спрашываешь)?
    я понятия зеленого не имею… Да дело не только в чпу - оно вообще режит в глаза при одном только виде адресной строки.
    Сам подумай - пользователь только зашел на главную - а тут опа: site.ru/?bitrix_include_areas=Y&bitrix_include_areas=Y&bitrix_include_areas=Y&bitrix_include_areas=Y&bitrix_include_areas=Y
    Есть те кто даже необращает и на такое внимание(собственно благодаря большинству таких - в битрикса клиентов, как вшей на бездомном псе)…
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 13 ноября 2009 г. 14:00, спустя 35 минут 6 секунд

    У меня в panjo так обстоит дело с чпу: есть файл url.php



    <?php

    Panjo::url('^/$', 'mainpage');
    Panjo::url('^/test/$', 'testpage');
    Panjo::url('^/importer/$', 'importer');
    Panjo::url('^/product/(?<id>\d+)', 'product');

    Panjo::url('^/cart/add/(?<id>\d+)', 'cart_add');
    Panjo::url('^/cart/$', 'cart_list');
    Panjo::url('^/cart/(?<id>\d+)', 'cart_get');

    Panjo::url('^/order/$', 'order');



    Можно вызывать и один раз, но передавать массив
    Спустя 66 сек.
    Пока еще не реализовал возможность инклудить другие urls.php, просто нет необходимости…
    Но думаю понадобится
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 13 ноября 2009 г. 15:04, спустя 1 час 3 минуты 19 секунд

    WHERE 1=1

    =)))
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 13 ноября 2009 г. 15:04, спустя 39 секунд

    тут просто нихуя не понятно, но я видел такие запросы, например в livestreet
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 13 ноября 2009 г. 15:06, спустя 1 минуту 20 секунд

    да, да…)
    если бы и попроще  -
    WHERE true;
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 13 ноября 2009 г. 15:21, спустя 15 минут 14 секунд


    WHERE 1=1

    =)))

    да ладно, хуле конкретно в where 1=1 такого смешного?
    мы составляем запрос и динамически навешиваем на него фильтры-условия.
    <?
    $where = array('1=1');
    if ($_REQUEST['country_id'])
    $where[] = 'country_id = ' . (int)$_REQUEST['country_id'];
    // … еще пяток возможных вариантов фильтрации

    $where = implode(' AND ', $where);
    $hotels = $this->db->fetchAll($query . $where . $order . $limit)
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 13 ноября 2009 г. 15:30, спустя 9 минут 3 секунды

    $where = array('1=1');
    if ($_REQUEST['country_id'])
       $where[] = 'country_id = ' . (int)$_REQUEST['country_id'];
    // на самом деле: $_REQUEST['country_id'] = 'DELETE * FROM catalogue'


    $where = implode(' AND ', $where);
    $hotels = $this->db->fetchAll($query . $where . $order . $limit)

    Спустя 28 сек.
    от и получаем радость)
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 13 ноября 2009 г. 15:34, спустя 4 минуты 11 секунд

    мы составляем запрос и динамически навешиваем на него фильтры-условия.

    Абырвалг, ты работаешь в битриксе ?
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 13 ноября 2009 г. 15:44, спустя 10 минут 1 секунду

    нее, я ни в битриксе ни с битриксом не работаю.

    // на самом деле: $_REQUEST['country_id'] = 'DELETE * FROM catalogue' 

    ну и? гадлайк. Что будет после
    $where[] = 'country_id = ' . (int)$_REQUEST['country_id'];

    ?
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 13 ноября 2009 г. 15:57, спустя 12 минут 30 секунд

    Абырвалг, Да, не обратил внимания/провтыкал, согласен..
    да не в том суть…
    Подставляем любой другой $_REQUEST, соответственно $where[] = 'country_id = ' . (int)$_REQUEST['country_id']; не выполняется
    выполняетя оставшаяся часть кода
    а если в $_REQUEST['param'] какойто $_REQUEST['val'] и этот val равен 'DELETE * FROM catalogue' ….. от тогда хухры-мухры….
    Суть попросту говоря в том что нельзя на произвол кидать все что будет в гет запросе. Парсить надо посерьезнее, проверять, что где когда/экранировать и тд и тп….
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 13 ноября 2009 г. 18:33, спустя 2 часа 36 минут 9 секунд

    WHERE 1=1

    в оракле этот хак добавляет производительности
    я реально сам в шоке был когда разницу увидел
    незнаю как это работает но результат существенный


    ну или если динамически генеришь

Пожалуйста, авторизуйтесь, чтобы написать комментарий!