Ilegal-pc
Principală | Fisiere | Înregistrare | Autentificare
 
Sâmbătă, 04.05.2024, 14:31
Bine aţi venit Vizitator | RSS
Меню сайта
Войти форму

Ip dvs
3.15.237.255
Like
Ora
Principală » Fişiere » Статьи

Безопасность
01.07.2013, 08:41
Здравствуйте, дорогие сайтостроители!

В свете последних событий, совершившихся с DLE, хотелось написать статью о безопасности не только в движке, но и в составлении паролей. Также мы с Вами сделаем простую генерацию паролей на PHP.

Ну, а теперь безопасность в DLE

Как вы могли видеть за последние дни, была выявлена очень опасная дыра. Обычному пользователю (до определенного момента) до этой опасности… м нет никакого дела, но вот пользователю, который хочет взломать ваш сайт эта уязвимость очень может пригодится. 

И так, план:
  1. Не используйте null-версии скриптов, потому что в них могут содержаться, оставленные дыры, чтобы можно, в дальнейшем, с легкостью взломать ваш сайт.
  2. Если вы пишите свои модули, то уделяйте большое внимание их безопасности, не только со стороны php, но и со стороны движка dle. Например, указывайте всегда в начале файла модуля (-лей) вот такой код: 
    if(!defined( 'DATALIFEENGINE' )) die( "Hacking attempt!" );

    Он позволит защитить ваш код, если к модулю «постучатся» напрямую, но если вы его подключите, то все будет гуд :)
  3. Идем по ссылке: Админ. панель->Настройка скрипта->Безопасность скрипта(щит такой)-> Сбрасывать ключ авторизации при каждом входе установите значение из нет в да. Этот метод позволяет создать новый ключ при каждом перезаходе на страницу админ. панели. 
  4. Создайте новый файл под названием, например, admin_new.php (ну, это произвольное название… нужно посложнее), скопируйте код из admin.php в только что созданный файл. Идем по ссылке: Админ. панель->Настройка скрипта->Безопасность скрипта(щит такой)->Файл админ. панели. Устанавливаем значение равное имени созданного нами нового скрипта (admin_new.php). В старом удаляем весь код и пишем:
    Таким образом, при заходе на файл admin.php у нас будет редирект на главную страницу, а при заходе на admin_new.php, у нас будет показываться страница админки. (Мини-защита.) 
  5. Ну, наверно, самое главное, это читать форумы по взлому dle, оттуда брать информацию как самые разные багги лечить, и собственно лечить их. Также не забывать о похождениях на http://dle-news.ru, потому что там также разработчики выкладывают патчи на дыры!

Составление паролей

Теперь немного о составлении паролей. 

Я рекомендую ВСЕМ участникам проекта WebTheory.Net сменить пароли (да и вообще, сменить там, где сайт написан на DLE). Вопрос, какой пароль лучше? 

Я считаю, что самый лучший пароль это тот, который состоит из букв нижнего регистра, верхнего регистра, специальных символов и цифр, длиной 20 символов. 

Да, не каждый сайт позволит Вам сделать пароль на 20 символов, но каждый сайт позволит Вам сделать пароль из букв нижнего регистра, верхнего регистра, специальных символов. Так что просто уменьшайте значение количество символов! 

План:
  1. Идем на http://genpas.narod.ru/
  2. Смотрим на колонку «Создание своего пароля»
  3. В графе варианты указываем все галочки
  4. Длину пароля ставим в значение 20
  5. Количество паролей поставим 15
  6. Понажимаем несколько раз на «Создать пароль» (суеверие :)).
  7. В колонке «Результат» выбираем пароль, который вы хотите. 
  8. Создаем где-нибудь защищенную папку с паролем, а в ней файл, на который накладывается пароль (самый сложный пароль, который вы выучили). (Про это можно почитать в инете.)
  9. В файл мы закидываем наш созданный пароль.
  10. Меняем пароль на webtheory.net. 
  11. Радуемся!

Вот и все! Наш длинный и прекрасный пароль создан и уже используется. 

Пишем свою функцию создания пароля
Для создания нам потребуются:
  • Знание о массивах
  • Знание цикла for
  • Знание о функциях 

Собственно код уже написан, вот он:

<?php 
function genPass($num) {
 $chars = array(
 "a", "A", "b", "B", "c", "C", "d", "D", "e", "E", "f", "F", "g", "G",
 "h", "H", "i", "I", "j", "J", "k", "K", "l", "L", "m", "M", "n", "N", 
 "o", "O", "p", "p", "q", "Q", "r", "R", "s", "S", "t", "T", "u", "U",
 "v", "V", "w", "W", "x", "X", "y", "Y", "z", "z",
 "1", "2", "3", "4", "5", "6", "7", "8", "9",
 "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "-", "_", "=", "~",
 ); // Символы для генерации пароля
 
 for($i = 0; $i < $num; $i++) { 
 $index = rand(0, count($chars) - 1); // В переменную $index заносится 
 // случайное число от 0 до (кол-во элементов массива - 1)
 $password .= $chars[$index]; // Пароль собирается в переменную
 } 
 
 return $password; // Возвращаем пароль
}
echo genPass(20); // в скобках передается размер пароля




А теперь объясню:
  1. Мы создаем массив $chars, в который заносим все символы, которые мы хотим видеть в пароле
  2. Создаем цикл со счетчиком
  3. В каждом проходе цикла мы в переменную $index заносим случайное число от 0 до (количества всех элементов в массиве - 1). Почему «-1»?! Потому что в массиве все элементы начинают отсчет с 0, т.е. первый элемент будет под номером 0, второй под 1, и т.д. И чтобы мы могли нормально обращаться к массиву мы применяем -1.
  4. В цикле мы создаем переменную $password, которой присваиваем сначала ее предыдущее значение (что было в ней до начала нового прохода цикла), а потом, обращаясь к массиву по его ключу ([$index]), собираем пароль.
  5. Возвращаем собранную переменную пароля.
  6. Вывод пароля осуществляем с помощью – echo genPass(кол_во__символов).

Ура!! Сделали!

Что ж, я рассказал Вам самые базовые вещи про достижение безопасности в DLE, о создании пароля через сервис, и мы сделали собственно свой мини-сервис для генерации пароля.

Categorie: Статьи | Adăugat de: Hacker
Vizualizări: 462 | Descărcări: 0 | Rating: 0.0/0
Total comentarii : 0
Prenume *:
Email *:
Cod *:
Grupul Nostru
Mini Profil
Vizitator

Наш опрос
Evaluează site-ul meu
Total răspunsuri: 2
статистика
Total online: 1
Vizitatori: 1
Utilizatori: 0
Гости сайта Пользователи

Copyright MyCorp © 2024