Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Волнует проблема безопасности

Тема в разделе "[Архив] Помощь", создана пользователем Uran, 25 апр 2013.

Статус темы:
Закрыта.
  1. Автор темы
    Uran

    Uran Старожил

    Баллы:
    103
    Имя в Minecraft:
    Uran
    Вообщем, есть такой файл connect.php, который необходим для лаунчера. В данном файле находится пароль к MySQL базе. В начале файла я обнаружил строчку: "if(!defined('INCLUDE_CHECK')) die("У вас нет прав для просмотра данного файла");". Когда открываешь это файл через сайт, например www.simple.com/minecraft/connect.php, то тебе показывает "У вас нет прав для просмотра данного файла" и больше ничего. Так вот меня волнует вопрос, могут ли каким-то образом взломать эту проверку на инклуд? Если могут, то как? И как сделать так, чтобы не взломали.

    P.S Заранее благодарю
     
    Сникерсни нравится это.
  2. Хостинг MineCraft
    <
  3. Автор темы
    Uran

    Uran Старожил

    Баллы:
    103
    Имя в Minecraft:
    Uran
    Если взломать невозможно, то прошу описать - каким образом эта строчка защищает
     
    ВремяПриключений нравится это.
  4. Raptor2108

    Raptor2108 Старожил Пользователь

    Баллы:
    173
    Skype:
    Raptor210818
    Имя в Minecraft:
    Raptor2108
    Ну смотрите, во всех файлах связанных с системой авторизации определена константа INCLUDE_CHECK (можно поменять на другое имя по желанию). Каждый файл будь то checserver.php и другие в самом начале после определения этой константы подключает файл connect.php. В файле connect.php идет проверка на существование данной константы и ее значения, в нашем случае у нее булево значение true. То есть чтобы воспользоваться нашим файлом connect.php нужно обязательно сначала определить эту константу иначе connect.php прекратит выполняться благодаря функции die(). Но поскольку узнать содержимое php файла извне невозможно, то и узнать имя нашей константы тоже, думаю это достаточно безопасно если только кто - то не залезет к вам на сервер по ftp.

    P.s Функция define() просто определяет нашу константу.
     
  5. Автор темы
    Uran

    Uran Старожил

    Баллы:
    103
    Имя в Minecraft:
    Uran
    Спасибо, отныне буду уверен в безопасности. А вот ещё вопрос, я хочу подключить топ богатых игроков и там есть файл config.php в котором указываешь данные MySQL и это файл незащищён (проверял), можно ли в начало файла вставить эту же строчку? Будет ли он тогда защищён?
     
  6. Raptor2108

    Raptor2108 Старожил Пользователь

    Баллы:
    173
    Skype:
    Raptor210818
    Имя в Minecraft:
    Raptor2108
    connect.php не запускается сам по себе, он всегда внутри остальных файлов с помощью include(). Смотрите сами по ситуации я не знаю о каком топе речь.
     
  7. Автор темы
    Uran

    Uran Старожил

    Баллы:
    103
    Имя в Minecraft:
    Uran
    Обычный топ богачей для iConomy, то есть показывает список игроков по убыванию. Так вот имеется файл config.php

    Вот PhP код файла.
    Так если я в начало вставлю "if(!defined('INCLUDE_CHECK')) die("У вас нет прав для просмотра данного файла");", то будет ли файл защищён?
     
  8. Raptor2108

    Raptor2108 Старожил Пользователь

    Баллы:
    173
    Skype:
    Raptor210818
    Имя в Minecraft:
    Raptor2108
    Скиньте, пожалуйста, топ целиком.
     
  9. Автор темы
    Uran

    Uran Старожил

    Баллы:
    103
    Имя в Minecraft:
    Uran
  10. slava00

    slava00 Старожил Пользователь

    Баллы:
    123
    Автор, что значит защищён не защищён, Не возможно узнать данные в файлах php
     
  11. Raptor2108

    Raptor2108 Старожил Пользователь

    Баллы:
    173
    Skype:
    Raptor210818
    Имя в Minecraft:
    Raptor2108
    В index.php после <?php с новой строчки допишите:
    Код:
    define('НАЗВАНИЕ_КОНСТАНТЫ',true);
    Далее в файле config.php после <?php с новой строчки допишите:
    Код:
     if(!defined('НАЗВАНИЕ_КОНСТАНТЫ')) die("У вас нет прав для просмотра данного файла");
     
  12. slava00

    slava00 Старожил Пользователь

    Баллы:
    123
    И для чего ему этото, смеха ради, смыcл то?
     
  13. Автор темы
    Uran

    Uran Старожил

    Баллы:
    103
    Имя в Minecraft:
    Uran
    И как тогда добиться смысла?
     
  14. slava00

    slava00 Старожил Пользователь

    Баллы:
    123
    А зачем? Что вы подразумеваться под безопасностью?
    Типо ваш файл подключать и данные сопрут, нет это сказка... - тогда бы уже 100000000 сайтов было сломано.
     
  15. Автор темы
    Uran

    Uran Старожил

    Баллы:
    103
    Имя в Minecraft:
    Uran
    Как мне тогда защитить этот несчастный файл?
     
  16. Raptor2108

    Raptor2108 Старожил Пользователь

    Баллы:
    173
    Skype:
    Raptor210818
    Имя в Minecraft:
    Raptor2108
    Безопасность лишней не бывает, можешь считать нас параноиками. Uran я же написал выше как, пролистай страницу.
     
Статус темы:
Закрыта.

Поделиться этой страницей