Forum Webscript.Ru
Дизайн и Верстка => Обсуждение сайтов => Тема начата: Forza от 25 Октября 2004, 14:47:27
-
Предлагаю для вашей критики сайт, в создании которого я принимал непосредственное участие, - http://www.disctorg.ru
Т.к. я совсем не занимался дизайном, а только советовал по поводу навигации и написал весь весь скрипт на основе пожеланий заказчика, то наиболее интересно мне следующее:
а) насколько понятна навигация
б) есть ли какие-нибудь грабли в скрипте, срабатывающие при неадекватных действиях юзера
Если вдруг появится ошибка 500 или пустая страница, то опишите, пожалуйста, при каких условиях это произошло. К сожалению, у хостера (valuehost) подглючивает mysql, поэтому ошибки 500 часто возникают из-за него. :(
Не стесняйтесь регистрироваться и заказывать (т.к. грабли можно поискать и тут). Если в поле "прочее" напишите "test from webscript.ru", никто с вас денег за заказ брать не будет. :)
Но если очень захочется высказаться про дизайн, пишите - я передам это дизайнеру.
-
скрипт вроде нормальный, а дизайн - никакой, уровня 98 года...
-
Я вот думаю: может быть, во все урлы во избежание кэширования добавить случайное число (как это сделано на Яндекс.Почте). Или не надо?
-
пропиши цвет фона для body
-
Господа, спасибо за ответы, но на самом деле дизайн сайта мне весьма фиолетов, т.к. я им не занимался. Мне больше интересна функциональность скрипта, в т.ч. в том, как он защищён от хитроумных юзеров.
-
а тестером вроди ещё и платят....)))))
-
Смешно.
Мне не нужен тест основных возможностей сайта - я их сам проверял кучу раз. Мне желателен тест некоторых исключительных ситуаций, о которых я просто не могу догадываться (те, о которых догадался, уже проверены).
-
не ошибки, а просто интересно.
Если при GET-передаче самостоятельно поменять id с такого
id=2272
на такой: "id=2272,любая лабуда"
то в общем-то все работает - он показывает страницы нужного товара (id=2272) но при этом таскает за собой "подпорченный" id. Если добавить товар с таким ид в корзину, потом тому же товару опять подправить ид, и опять внести его в корзину, то с точки зрения скрипта - это два разных продукта, хотя инфу он по ним выдает нормально
Вопрос: интересно, как ты делаешь выборку товара по id? И проверяешь его на "правильность" (напр.,только цифры?)
если задать ид не существуещего товара не проще ли выкинуть страницу, что такого id не существует?
2. при поиске ИМХО стоит сделать ограничения на кол-во слов в запросе и на длину запроса, хотя смортя как ты это реализовал. Я надеюсь она не лопатит базу по каждому слову..
поиск по CD как я понял в разработке
пример (можно и подлинее):
http://www.disctorg.ru/cgi-bin/index.pl?dvd_keywords=%E4%E8%F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+%E2+2+3+4+5+:+7+*+9+0+ваава+%FB%F4&choice=search_dvd
-
Green Kakadu:
Если при GET-передаче самостоятельно поменять id с такого
id=2272
на такой: "id=2272,любая лабуда"
то в общем-то все работает - он показывает страницы нужного товара (id=2272) но при этом таскает за собой "подпорченный" id. Если добавить товар с таким ид в корзину, потом тому же товару опять подправить ид, и опять внести его в корзину, то с точки зрения скрипта - это два разных продукта, хотя инфу он по ним выдает нормально
Да, действительно, есть такой баг. Я его исправил, добавив в функции вывода описания и добавления в корзину $id = int $id;
Green Kakadu:
если задать ид не существуещего товара не проще ли выкинуть страницу, что такого id не существует?
Я предлагал такой вариант заказчику, но он отказался. В принципе, он прав. Во всех ссылках - только валидные айди, а если юзер сам начал что-то менят в get-запросах, но пусть сам и проверяет, нашёлся ли такой айди. :)Green Kakadu:
при поиске ИМХО стоит сделать ограничения на кол-во слов в запросе и на длину запроса
Спасибо за совет. Подумаю об этом.
Green Kakadu:
хотя смортя как ты это реализовал. Я надеюсь она не лопатит базу по каждому слову..
Зря так надеешься. :) Поиск глобально всё лопатит. Т.е. он ищет появление каждого из указанных слов как минимум в одном из трёх проверяемых полей, т.е. для двух слов получается (col1 LIKE \'%word1%\' OR col2 LIKE \'%word1%\' OR col3 LIKE \'%word1%\') AND (col1 LIKE \'%word2%\' OR col2 LIKE \'%word2%\' OR col3 LIKE \'%word2%\'). Понимаю, что запрос потенциально очень медленный, но и база пока маленькая - и особенно на этом запросе не тормозит. Будут проблемы - подумаю об оптимизации.
Green Kakadu:
пример (можно и подлинее):
http://www.disctorg.ru/cgi-bin/index.pl? dvd_keywords=%E4%E8%F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0
+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+
%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+
5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+в
аава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F
4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+
:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваа
ва+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%
E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+
7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава
+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2
+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+
*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F
1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2
+3+4+5+:+7+*+9+0+ваава+%E2+2+3+4+5+:+7+*+9+0+ваава
+%FB%F4&choice=search_dvd
Этот пример немного на другое, т.е. на отсутствие параметра dvd_keywords (ты его в нём заменил на %20dvd_keywords). Я и это подправил. Теперь в этом случае редирект на главную страницу.
Большое спасибо за потраченное время на тестинг скрипта!
-
Forza:
Зря так надеешься. Поиск глобально всё лопатит. Т.е. он ищет появление каждого из указанных слов как минимум в одном из трёх проверяемых полей,
тогда обязательно надо лимит поставить на число слов в запросе, сам понимаешь что и сколько можно туда постить :)
Я его исправил, добавив в функции вывода описания и добавления в корзину $id = int $id;
а не стоит ли посылать на $%@ тех товарищей которые набрали невалидный id?
Forza:
Этот пример немного на другое, т.е. на отсутствие параметра dvd_keywords (ты его в нём заменил на %20dvd_keywords).
это не я - это форум так это переварил. Т.е. там был dvd_keywords но очень длинный из кучи всякого мусора. Он мне его выдавал на полстраницы, типа по вашему запросу "пол страницы той фигни что я ввел" результатов 0
-
Green Kakadu:
Я его исправил, добавив в функции вывода описания и добавления в корзину $id = int $id;
а не стоит ли посылать на $%@ тех товарищей которые набрали невалидный id?
Это как? Сделать DoS-атаку на их айпи? :)
Ну и пусть вводят, самое главное, чтобы заказ сделали. :)Green Kakadu:
Он мне его выдавал на полстраницы, типа по вашему запросу "пол страницы той фигни что я ввел" результатов 0
Сейчас всё ведь нормально, да? Кстати, я по тому примеру понял, что также забыл сделать escapeHTML() для ключевых в слов при выводе их в результатах поиска.
Да, если ещё кто-нибудь любезно согласится что-либо проверить, то не стесняйтесь регистрироваться с правильными емэйлами и даже что-либо заказать себе (указав в поле прочее "test from webscript.ru"). Всё-таки иначе определённая часть скрипта вообще не работает. Обещаю, ваши емэйлы спамерам не уйдут. :)