Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нормально ли?
 
 автор: DEM   (01.03.2007 в 00:13)   письмо автору
 
 

Вот сделал вижок для своего сайта, но не знаю, нормально ли или нет...
http://www.shamank.net/test/

На дизайн только не смотрите, я сделал его что бы просто показать что он есть и его можно менять.
Там етсь новости, для новостей можно создавать категории. Есть статьи для которых можно делать категории, а в категориях подкатегории. Есть файлы, для них тож есть категории и подкатегории (а также один приятный момент но его долго объяснять, позже расскажу). Есть арт тож с категориями и подкатегориями, ну регистарция, авторизация и опрос тож... как думаешь, по возможностям нам его хватит?

Приятная особенось файлов, это просто возможность указать файл где находятся файлы и указать текстовый файл который будет их описывать название, описание и картинка (если есть) ), простенько коненчо, но поскольку файлов много (Скоро начну закачку), то это будет довольно удобно...


ЗЫ. И ПРОСТО УМОЛЯЮ! НЕ ПЫТАЙТЕСЬ ЕГО ВЗЛОМАТЬ! ВРОДЕ БЫ Я ЗАЩИТИЛ ЕГО КАК МОГ, НО ПЛИЗ! Я ЕЩЕ НЕ ПРОВЕРЯЛ НА УЯЗВИМОСТЬ! НЕ НАДО ТАМ НИЧГЕО ДЕЛАТЬ!!!!

   
 
 автор: SHAman   (01.03.2007 в 13:39)   письмо автору
 
   для: DEM   (01.03.2007 в 00:13)
 

Для того, чтобы оценить скрипт, нужно смотреть не на его работу, а на его код. Работает вроде нормально, но не известно как написано.

Теперь явные замечания:
1) Почему у тебя в боковой навигации и в верхней пункты рознятся? И вообще, нафига делать две навигации?
2) Здесь: http://www.shamank.net/test/index.php?razdel=art&art_cat_id=3 картинки не кликабельны.
3) Зачем тебе в новостях категории? У тебя их что, там тонны будут? Если да, то ой. Но я сильно смоневаюсь... ИМХО, достаточно просто сделать список коротких новостей с ссылками "Читать", которые ведут на полный текст новости.
4) Некоторые ссылки открывают новые окна. Это непростительно, особенно для ссылок, находящихся в основной навигации (хотя, может, это и не основная? Блин, соедини ты их в одну!)
5) В гостевухе лучше делать форму добавления нового поста прямо во время просмотра старых. Потому что иначе - не привычно.
6) При регистрации поля съезжают вправо - нот гуд.
7) После успешной регистрации я вижу пустой контент. То есть, ничего не вижу.
8) "Спасибо за авторизацию" - это забавно : )
9) В гостевухе форму перекосило.
10) Обычно пишут "E-mail: <поле>", а не "<поле> - e-mail", но это уже придирки:)
11) Что значит "Выберите оценку" и что будет, если я вместо оценки выберу "Выберите оценку"?
12) Не стоит писать "сообщение" в поле ввода сообщения, ибо это вынуждает пользователя сначала удалить этот текст. Лучше сделать так:

Сообщение<br/>
<textarea></textarea>

13) Зачем спрашивать у меня e-mail в гостевухе, если к добавлению постов допускаются только зарегистрированные пользователи, которые при регистрации вводят свое мыло? Лишнее поле. Просто пали мыло (если оно тебе нужно) из базы.
14) Добавить сообщение в гостевушку мне так и не удалось. Вылезало ужасающее окно "Вы не заполнили одно из полей или не выбрали вашу оценку".
15) Раздел "о проекте" в гостевой - это сильно :
16) Рандомная картинка иногда выводит пустоту "Хех..."
17) Блок голосований сразу показывает проценты кто за что проголосовал. Но не дает проголосовать.
18) Про дизайн старался молчать :)

   
 
 автор: DEM   (01.03.2007 в 21:56)   письмо автору
 
   для: SHAman   (01.03.2007 в 13:39)
 

Спасибо за коментарии, исправлю... На счёт того что авигация розница, это сделао специально и в зависимости от того чему равно поле и определяется, где выводится ссылка. Некоторые ссылки открываются в новом окне, так как у них так выставлен параметр (ну просто ссылки на форум и чат я думаю лучше открывать в новом окне). Не кликабельные картинки, потому что в этой категории указана только папка, а уже скрипт выводит из неё информацию... На счёт остального еще раз большое спасибо...

ЗЫ. код ЭТОГО я вывешу чуть позже, когда хоть немного приведу его в вид пригодный для нормального чтения....

   
 
 автор: Бамси   (01.03.2007 в 23:49)   письмо автору
 
   для: DEM   (01.03.2007 в 00:13)
 

1. Наивные названия полей и таблиц. (pass, name, users...)
2. Не используй пасс qwerty.
3. Храни пароли в md5!
4. Не надо пихать свои мыльники аш на главной странице. (спам обеспечен)
5. /admin.php - наивная ссылка на админку, лучше так не делать.
6. http://www.shamank.net/test/index.php?razdel=category_a_view&id=-1+Union+select+1,2,3,4,user(),6,database(),8+from+users/* (Лечи свой движок от SQL-inj)
Дальше искать не стал..
Кстати DEM - админ? Когда под ним логинишся, всеровно в админку не заходит.

ЗЫ Как ты и просил - нчиего не трогал, и ничего не редактировал, только пальем тыкнул на ошибки.

   
 
 автор: DEM   (02.03.2007 в 00:12)   письмо автору
 
   для: Бамси   (01.03.2007 в 23:49)
 

Я админку пока не делал... Спасибо за указаные уязвимости... Сейчас попытаюсь испрвить

   
 
 автор: DEM   (02.03.2007 в 00:31)   письмо автору
 
   для: DEM   (02.03.2007 в 00:12)
 

Я проверяю все данные по такому типу (как писал ХЕОПС):

if (!get_magic_quotes_gpc())
{
$id_get = mysql_escape_string($id_get);
}
Но чёт всё равно одно и тоже ((((

   
 
 автор: cheops   (02.03.2007 в 01:11)   письмо автору
 
   для: DEM   (02.03.2007 в 00:31)
 

От числовых инъекций не спасает - все числовые параметры следует обрабатывать функцией intval()
<?php
  $id_get 
intval($id_get);
?>

   
 
 автор: Shorr Kan   (02.03.2007 в 04:03)   письмо автору
 
   для: cheops   (02.03.2007 в 01:11)
 

Но ведь если в sql-запросе и числовые параметры будут обрамлены одинарными кавычками - спасает ведь... так?

   
 
 автор: cheops   (02.03.2007 в 12:20)   письмо автору
 
   для: Shorr Kan   (02.03.2007 в 04:03)
 

Вообще говоря да.

   
 
 автор: DEM   (02.03.2007 в 10:51)   письмо автору
 
   для: cheops   (02.03.2007 в 01:11)
 

То есть такой защиты хватит:

<?

$id_get 
htmlspecialchars(stripslashes($_GET['id']), ENT_QUOTES);
$pod_cat htmlspecialchars(stripslashes($_GET['podkat_id']), ENT_QUOTES);
if (!
get_magic_quotes_gpc())
{
$id_get mysql_escape_string($id_get);
$pod_cat mysql_escape_string($pod_cat);
}
$id_get intval($id_get);
$pod_cat intval($pod_cat);

?>



ЗЫ. а если таким способом проверять вводимые данные например в форму (к примеру логин и пароль), всё тоже будет норм?

   
 
 автор: TrunK   (04.03.2007 в 02:13)   письмо автору
 
   для: DEM   (02.03.2007 в 10:51)
 

Мне кажется, хватит:

<?php
$id_get 
intval($id_get); 
$pod_cat intval($pod_cat);
?>

Или я неправ? Вроде проверял, если писать текст, то в результате значение станет 0.

   
 
 автор: DEM   (04.03.2007 в 02:16)   письмо автору
 
   для: TrunK   (04.03.2007 в 02:13)
 

ВОзможно, но так всё же спокойнее ))) И он вроде бы тогда поставит равным не 0, а просто НИЧЕГО, пустая строка...

   
 
 автор: Unkind   (04.03.2007 в 10:31)   письмо автору
 
   для: DEM   (04.03.2007 в 02:16)
 

И он вроде бы тогда поставит равным не 0, а просто НИЧЕГО, пустая строка...
Будет просто 0.

   
 
 автор: DEM   (02.03.2007 в 11:44)   письмо автору
 
   для: DEM   (01.03.2007 в 00:13)
 

От SQL-инъекций вроде бы вылечился, если кто нибудь может, проверьте пожалуйста (но опять же, прошу, ничего не делайте если нийдёте уязвимость, напишите об этом здесь...) Ну и вроде бы всё изменил как надо...



ЗЫ. надо ли ставить эти проверки если происходит POST -запрос? Просто тогда он просто пишет, что поле не заполнено и поэтому я только прописал
$text = htmlspecialchars(stripslashes($_POST['text']), ENT_QUOTES);

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования