Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблемма безопасности, ваше мнение.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Ломаем собственный скрипт.
Джур
Отправлено: 29 Мая, 2007 - 09:55:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




У меня есть сайтец вернее что-то вроде CMS (админка вообщем), который неюзает никаких постаронних модулей... Все как говорится свое родное...
Для разграничения доступа к модулю администрирования использую вот такой скрипт:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if(strpos(" ".$_SERVER['PHP_SELF'],'index.php') and !isset($room)){header("Location: admin.php");exit;}
  4. include_once 'db/login.php';
  5. //echo $_SERVER['PHP_SELF'];
  6. function auth()
  7. {
  8.   global $nameurl;
  9.   Header ("WWW-Authenticate: Basic realm="what is you?"");
  10.   Header ("HTTP/1.0 401 Unauthorized");
  11.   exit;
  12. }
  13.  
  14. if (@empty($_SERVER["PHP_AUTH_USER"])) auth();
  15. if ($admin[$_SERVER["PHP_AUTH_USER"]]['p'] == md5($_SERVER["PHP_AUTH_PW"])){
  16.  
  17.         $admin[$_SERVER["PHP_AUTH_USER"]]['key'][]='main';
  18.    $fl=1;foreach($admin[$_SERVER["PHP_AUTH_USER"]]['key'] as $n){
  19.                 if($room==$n){$fl=0;}
  20.         }
  21.         if($fl){
  22.         header("Location: ../admin.php");exit;
  23.    }
  24. }else{auth();}
  25.  
  26. ?>
  27.  

Он подключается в самом начале каждого важного РНР скрипта. Примерно так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $room="news";
  3. include 'index.php';
  4.  


Теперь вопрос, кто-нибуть видит способы обхода такого замка. Улыбка

P.S. файл login.php содержит хеши паролей и доступные "разделы"


-----
Тамбовский каджит тебе товарищ
 
 Top
Viper
Отправлено: 29 Мая, 2007 - 10:31:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




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

к тому же авторизация http более как мне кажеться устойчива к взлому. или я ошибаюсь ?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Джур
Отправлено: 29 Мая, 2007 - 11:39:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




Ну в принципе это и есть http авторизация, так что это придает немного оптимизма. Улыбка
А вот за сервер поручится я немогу. Недовольство, огорчение это уже не моя стихия. Недовольство, огорчение
хм... А может злобно все шифровать? Улыбка))


-----
Тамбовский каджит тебе товарищ
 
 Top
Viper
Отправлено: 29 Мая, 2007 - 16:40:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




ну можно шифровать в md5 сессии и использовать двойной md5 для паролей. можно использовать программы для шифрования скриптов... помимо этого ещё нужно делать максимальные проверки запросов к базе, во избежание атак.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Mister
Отправлено: 29 Мая, 2007 - 23:29:01
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2007  
Откуда: Сухиничи Калуж.обл.


Помог: 0 раз(а)

[+]


Мне кажется http- авторизация более защищена в том плане, что сервер настраивают продвинутые администраторы, а если программист начинающий, то он может что-то пропустить.


-----
..я не специалист, а только учусь
 
 Top
Джур
Отправлено: 30 Мая, 2007 - 11:24:35
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




Цитата:
Мне кажется http- авторизация более защищена в том плане, что сервер настраивают продвинутые администраторы

Ну если честно, слово продвинутый не совсем уместно в моем случае... Будем так говорить их на сервере нет в принципе... Полный автомат, так сказать...
Темпаче, что ЭТО И ЕСТЬ http авторизация. Улыбка http авторизация работает на стороне броузера. (Header ("HTTP/1.0 401 Unauthorized");)
Если же вы имеете в виду авторизацию методами "апатча" то должен вас растроить, у нас им и не пахнет. И пахнуть по соображениям нагрузки не будет. Улыбка


-----
Тамбовский каджит тебе товарищ
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB