За последние 24 часа нас посетили 17673 программиста и 1655 роботов. Сейчас ищут 897 программистов ...

Проверка нескольких php через 1 php файл привязки к домену

Тема в разделе "Прочие вопросы по PHP", создана пользователем D0Gmatist, 9 мар 2013.

  1. D0Gmatist

    D0Gmatist Активный пользователь

    С нами с:
    3 июн 2012
    Сообщения:
    60
    Симпатии:
    0
    Доброго времени!!!
    Помогите реализовать.

    Хочу защитить несколько php файлов
    К примеру

    1 ФАЙЛ

    Код (Text):
    1. <?php
    2. if( ! defined( 'DATALIFEENGINE' ) ) {
    3.     die( "Hacking attempt!" );
    4. }
    5. if ($cstart) {
    6. $cstart = $cstart - 1;
    7. $cstart = $cstart * $config['news_number'];
    8. }
    9. $url_page = $config['http_home_url'] . "cast/" . urlencode($_GET['actor']);
    10. $newsmodule = true;
    11. $actor = $_GET['actor'];
    12.       $sql_result = $db->query("SELECT id FROM ". PREFIX ."_post WHERE actors LIKE '%$actor%'");
    13.       $found_result = $db->num_rows( $sql_result );
    14. $custom_template = "shortstory";       
    15. $sql_select = "SELECT SQL_CALC_FOUND_ROWS * FROM ". PREFIX ."_post WHERE actors LIKE '%$actor%' ORDER BY `date` DESC LIMIT " . $cstart . "," . $config['news_number'];
    16. $sql_count = "SELECT FOUND_ROWS() as count";
    17. $allow_active_news = TRUE; 
    18. include "show.short.php";
    19.         $db->free( $sql_result );
    20. ?>
    2 ФАЙЛ


    Код (Text):
    1. <?php
    2. if( ! defined( 'DATALIFEENGINE' ) ) {
    3.     die( "Hacking attempt!" );
    4. }
    5. if ($cstart) {
    6. $cstart = $cstart - 1;
    7. $cstart = $cstart * $config['news_number'];
    8. }
    9. $url_page = $config['http_home_url'] . "cast/" . urlencode($_GET['actor']);
    10. $newsmodule = true;
    11. $actor = $_GET['actor'];
    12.       $sql_result = $db->query("SELECT id FROM ". PREFIX ."_post WHERE actors LIKE '%$actor%'");
    13.       $found_result = $db->num_rows( $sql_result );
    14. $custom_template = "shortstory";       
    15. $sql_select = "SELECT SQL_CALC_FOUND_ROWS * FROM ". PREFIX ."_post WHERE actors LIKE '%$actor%' ORDER BY `date` DESC LIMIT " . $cstart . "," . $config['news_number'];
    16. $sql_count = "SELECT FOUND_ROWS() as count";
    17. $allow_active_news = TRUE; 
    18. include "show.short.php";
    19.         $db->free( $sql_result );
    20. ?>
    Как??? реализовать проверку домена у 2-х файлов? но не в самих файлах а через

    Код (Text):
    1. include (ENGINE_DIR . '/data/dop_pole_key.php');
    Помогите визуальным примером ...
    Заранее спасибо
     
  2. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    задача не ясна
    защита файла от запуска по урлу в DLE делается так
    Код (PHP):
    1. if( ! defined( 'DATALIFEENGINE' ) ) {
    2.    die( "Hacking attempt!" );
    3. }
    В index.php прописан этот самый define
    а что ещё вам нужно сделать - не понятно
     
  3. D0Gmatist

    D0Gmatist Активный пользователь

    С нами с:
    3 июн 2012
    Сообщения:
    60
    Симпатии:
    0
    Re: Проверка нескольких php через 1 php файл привязки к доме

    Я имею в виду .. что прежде чем выполниться, каждый файл обращается к dop_pole_key.php в котором проверяется соответствие доменного имени на котором производится выполнение скрипта .. с параметром else ... после чего если доменное имя записанное в dop_pole_key.php соответствует домену происходит выполнение самого скрипта а если нет то выдает сообщение о нарушении.

    Добавлено спустя 4 минуты 37 секунд:
    Re: Проверка нескольких php через 1 php файл привязки к домену
    Вот к примеру
    После
    Код (Text):
    1. <?php
    Дописать
    Код (Text):
    1. $host ='домен.ру';
    2. if ($host != $_SERVER['HTTP_HOST']&&'www.'.$host != $_SERVER['HTTP_HOST'])  
    3. {echo "Косяк блин)))"; exit;}
     
  4. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    Re: Проверка нескольких php через 1 php файл привязки к доме

    Ну и отлично, так и делай.
    Если делаешь защиту своего скрипта, то скажу как есть - её ни у кого нет. Точнее можно юзать zend guard или ioncube последними версиями для шифрования, чтобы как у тебя $host не подменили, но дезендеры и т.д появляются примерно через пол года после выхода обновления. Да и не опенсоурс не так активно покупают, точнее его вообще редко пакупают из-за бэкдоров и попросту из-за того что код не редактируется.
     
  5. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. $www='www.';
    2. $domain='домен.ру';
    3. $host=isset($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:getenv('HTTP_HOST');
    4. if($domain!=$host && $www.$domain!=$host) {
    5.     exit('Косяк блин)))'); 
    6. } 
    А почему имено так а не define?
    Код (PHP):
    1. if(!defined('SITE')) {
    2.     $host=isset($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:getenv('HTTP_HOST');
    3.     $http=isset($_SERVER['HTTPS'])?$_SERVER['HTTPS']:getenv('HTTPS');
    4.     $http=('on'==$http)?'https://':'http://';
    5.     $host=$http.$host;
    6.     exit(header('Location: '.$host));
    7. } 
    Ах, видать потому, что у вас записываются обращения c других сайтов? Чьи домены не совпали с записанными не пройдут валидность? =)


    Я бы конечно бы вообще иначе все сделал, ну до ладно)