Основан 26 Июля 2013 года
freehacks.ru fhacks.me fhacks.pw fhacksnplmzxaaoo.onion
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12
  1. #1
    TopicStarter
    Аватар для tyman

    Статус
    Offline
    Регистрация
    12.09.2013
    Сообщений
    310
    Репутация
    78 + / -
    Хакинг

    Защита данных

    Как по вашему хорошая зашита файла, и какой должен быть запрос?
    [php]
    <?php
    $now = time();

    // Пример проверки ключа доступа
    if (isset($_GET['akey'])) {
    $data = base64_decode($_GET['akey']); // Разкодируем данные
    list($time, $key) = explode('][', $data); // Разделяем время создания ссылки и ключ доступа
    if ($key == md5('sicret_text' . $time)) { // Проверка ключа доступа
    if (($now - $time) <= 60) { // Есди ключ правельный и жизнь ссылки не более 1 минуты
    echo 'Ok'; // Доступ разрешен
    } else {
    echo 'Failed';
    }
    } else {
    echo 'Failed';
    }
    exit;
    }

    // Генерация ключа доступа
    $key = base64_encode($now . '][' . md5('sicret_text' . $now)); // Где 'secret_text' - секретное слово и закрытая часть ключа
    $key = rawurldecode($key);

    echo $link = "http://{$_SERVER['HTTP_HOST']}/link/?akey={$key}"; // Собираем и выводим ссылку
    ?>
    [/php]
    .|.

  2. #2
    Trust
    Аватар для ul1k317

    Статус
    Offline
    Регистрация
    26.08.2013
    Сообщений
    823
    Репутация
    395 + / -
    Web-программист
    Все норм.
    php, mysql, mssql, js, html, css, ajax, administrating, it consulting, etc.

  3. #3
    TopicStarter
    Аватар для tyman

    Статус
    Offline
    Регистрация
    12.09.2013
    Сообщений
    310
    Репутация
    78 + / -
    Хакинг
    какой должен быть запрос?
    .|.

  4. #4
    Trust
    Аватар для ul1k317

    Статус
    Offline
    Регистрация
    26.08.2013
    Сообщений
    823
    Репутация
    395 + / -
    Web-программист
    Цитата Сообщение от tyman Посмотреть сообщение
    какой должен быть запрос?
    В смысле? Ты не можешь понять что на выходе?

    Код:
    http://sitename/script.php?akey=MTM4MDA1MTY3MF1bOTBiYmVmOWYyYWY2MjMzMjk5ZmZhZmVmZDhlMTNmMjg=
    вот такой у тебя получается.
    php, mysql, mssql, js, html, css, ajax, administrating, it consulting, etc.

  5. #5
    TopicStarter
    Аватар для tyman

    Статус
    Offline
    Регистрация
    12.09.2013
    Сообщений
    310
    Репутация
    78 + / -
    Хакинг
    Цитата Сообщение от dsda Посмотреть сообщение
    В смысле? Ты не можешь понять что на выходе?

    Код:
    http://sitename/script.php?akey=MTM4MDA1MTY3MF1bOTBiYmVmOWYyYWY2MjMzMjk5ZmZhZmVmZDhlMTNmMjg=
    вот такой у тебя получается.
    Я не пойму что на входе, не просто запустить скрипт и он запустит какой то файл? Мне нужен запрос к скрипту на запуск pdf файла.
    .|.

  6. #6
    Trust
    Аватар для ul1k317

    Статус
    Offline
    Регистрация
    26.08.2013
    Сообщений
    823
    Репутация
    395 + / -
    Web-программист
    Нет такого понятия как запуск PDF файла. Его можно открыть (если позволяет браузер), либо скачать и потом открыть в чем-то.

    Код:
    <?php 
    $siteURL = 'ТУТ ИМЯ ТВОЕГО САЙТА НАПРИМЕР HTTP://MYSITE.COM/PATH/';
    $pdfNAME = 'ТУТ ИМЯ ФАЙЛА PDF КОТОРЫЙ ЛЕЖИТ В ТОЙ-ЖЕ ДИРЕКТОРИИ ЧТО И СКРИПТ НАПРИМЕР MYPDF.PDF';
    
    $now = time(); 
      
    // Пример проверки ключа доступа 
    if (isset($_GET['akey'])) { 
        $data = base64_decode($_GET['akey']); // Разкодируем данные 
        list($time, $key) = explode('][', $data); // Разделяем время создания ссылки и ключ доступа 
        if ($key == md5('sicret_text' . $time)) { // Проверка ключа доступа 
        if (($now - $time) <= 60) { // Есди ключ правельный и жизнь ссылки не более 1 минуты  
            $file = $siteURL.$pdfNAME;
            header('Content-type: application/pdf');
            header('Content-Disposition: inline; filename="' . $pdfNAME . '"');
            header('Content-Transfer-Encoding: binary');
            header('Content-Length: ' . filesize($file));
            header('Accept-Ranges: bytes');
            @readfile($file);
        } else { 
            echo 'Failed'; 
        } 
        } else { 
        echo 'Failed'; 
        } 
        exit; 
    } 
      
    // Генерация ключа доступа 
    $key = base64_encode($now . '][' . md5('sicret_text' . $now)); // Где 'secret_text' - секретное слово и закрытая часть ключа 
    $key = rawurldecode($key); 
      
    echo $link = "http://".$siteURL."?akey=".$key; // Собираем и выводим ссылку 
    ?>
    При запуске без параметров мы получаем ссылку. Если ввели с параметром то получаем pdf файл.
    php, mysql, mssql, js, html, css, ajax, administrating, it consulting, etc.

  7. #7
    TopicStarter
    Аватар для tyman

    Статус
    Offline
    Регистрация
    12.09.2013
    Сообщений
    310
    Репутация
    78 + / -
    Хакинг
    Спасибо
    .|.

  8. #8
    TopicStarter
    Аватар для tyman

    Статус
    Offline
    Регистрация
    12.09.2013
    Сообщений
    310
    Репутация
    78 + / -
    Хакинг
    Не работает твой скрипт, он выводит ссылку на экран.
    Последний раз редактировалось tyman; 29.09.2013 в 23:39.
    .|.

  9. #9
    Trust
    Аватар для ul1k317

    Статус
    Offline
    Регистрация
    26.08.2013
    Сообщений
    823
    Репутация
    395 + / -
    Web-программист
    Цитата Сообщение от tyman Посмотреть сообщение
    Не работает твой скрипт, он выводит ссылку на экран.
    Он и должен выводить ссылку на экран если без параметров вызван.


    Вот немножко поправленный скрипт. Все так-же если вызван без параметров то выводит ссылку на файл, если взять эту ссылку то откроет/загрузит файл.
    Код:
    <?php 
    $siteURL = 'test.ru';
    $pdfNAME = 'mypdf.pdf'; // если файл лежит в папке то надо указывать так: path/mypdf.php
    
    $now = time(); 
      
    // Пример проверки ключа доступа 
    if (isset($_GET['akey'])) { 
    	$data = base64_decode($_GET['akey']); // Разкодируем данные 
    	list($time, $key) = explode('][', $data); // Разделяем время создания ссылки и ключ доступа 
    	if ($key == md5('sicret_text' . $time)) { // Проверка ключа доступа 
    	if (($now - $time) <= 60) { // Есди ключ правельный и жизнь ссылки не более 1 минуты  
    		header('Content-type: application/pdf');
    		header('Content-Disposition: inline; filename="' . $pdfNAME . '"');
    		header('Content-Transfer-Encoding: binary');
    		header('Content-Length: ' . filesize($pdfNAME));
    		header('Accept-Ranges: bytes');
    		@readfile($pdfNAME);
    	} else { 
    		echo 'Failed'; 
    	} 
    	} else { 
    	echo 'Failed'; 
    	} 
    	exit; 
    } 
      
    // Генерация ключа доступа 
    $key = base64_encode($now . '][' . md5('sicret_text' . $now)); // Где 'secret_text' - секретное слово и закрытая часть ключа 
    $key = rawurldecode($key); 
      
    echo $link = "http://".$siteURL."/".basename($_SERVER['SCRIPT_FILENAME'])."?akey=".$key; // Собираем и выводим ссылку 
    ?>
    php, mysql, mssql, js, html, css, ajax, administrating, it consulting, etc.

  10. #10
    TopicStarter
    Аватар для tyman

    Статус
    Offline
    Регистрация
    12.09.2013
    Сообщений
    310
    Репутация
    78 + / -
    Хакинг
    Теоретически твой скрипт работает, но если изменить время жизни на 5, то файл, размером в 10 мб, со скоростью в 1 мб/сек, успевает загрузиться, хотя не должен.
    Не можешь растолковать почему?
    .|.

Страница 1 из 2 12 ПоследняяПоследняя

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  

Информация на сайте предоставлена исключительно в ознакомительных целях, использование знаний в противозаконных целях преследуется по закону! Администрация не несет ответственности за ваши деяния.