PHP.SU

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

Страниц (15): В начало « ... 5 6 7 8 [9] 10 11 12 13 ... » В конец

> Найдено сообщений: 224
Invert Отправлено: 20 Февраля, 2011 - 17:20:55 • Тема: Равнозначность регистра • Форум: Напишите за меня, пожалуйста

Ответов: 14
Просмотров: 160
Я не спец. в БД, но регулярка с i решит эту проблему.
Invert Отправлено: 20 Февраля, 2011 - 17:13:21 • Тема: недольшой спор насчет экранирования запросов • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 86
Исправил. Не желаю вступать в спор.
Invert Отправлено: 13 Февраля, 2011 - 20:05:57 • Тема: Как узнать номер последнего элемета в нумерованном массиве? • Форум: Программирование на PHP

Ответов: 10
Просмотров: 5715
Прокрутить через
PHP:
скопировать код в буфер обмена
  1. foreach ( $array as $key => $data )

записать все ключи в массив

и изъять последний, который вам и нужен.
Invert Отправлено: 13 Февраля, 2011 - 09:57:11 • Тема: Чтение данных сессии • Форум: Программирование на PHP

Ответов: 5
Просмотров: 657
[удалено]
Invert Отправлено: 09 Февраля, 2011 - 22:10:43 • Тема: Форум и его сообщество!!! • Форум: Колонка администратора

Ответов: 2
Просмотров: 1921
grefon, поддерживаю, раздражает.

Можно не убирать полностью, а сделать JS редирект, с таймаутом в секунду.
Invert Отправлено: 09 Февраля, 2011 - 17:53:31 • Тема: Как реализовать вход в контакт на свою страничку через адресную строку? • Форум: Напишите за меня, пожалуйста

Ответов: 8
Просмотров: 107
Кулхацкеры какие-то. Точно XML-файл в конце строки вставлять не нужно? Или на PERL что-то дописать?
Invert Отправлено: 09 Февраля, 2011 - 17:46:09 • Тема: Помогите с безопасностью • Форум: Программирование на PHP

Ответов: 20
Просмотров: 982
Не обязательно привязывать страницы к ID.
Если вам так сильно нужно защитить страницы од других, то используйте шифрованные ссылки, в виде таких:
PHP:
скопировать код в буфер обмена
  1. http://site.ru/?page=gs7y4hdig4u

Шансы, что кто-то подберет ключ, приближаются к нулю.
Invert Отправлено: 09 Февраля, 2011 - 17:41:36 • Тема: explode() • Форум: Программирование на PHP

Ответов: 2
Просмотров: 273
Вам необходимо експлодом разбить строку на массив,
потом в цикле, начиная со второго элемента (1), изъять данные.

Смотрите в сторону конструкции
Invert Отправлено: 08 Февраля, 2011 - 21:44:08 • Тема: Скачивание файла с хостингсервера • Форум: Программирование на PHP

Ответов: 20
Просмотров: 1447
LEONeso пишет:
Как понять "- Защищать файл от несанкционированного скачивания."?

Представьте, что ссылка на скачивание файла сгенерирована для одного клиента, а он передал эту ссылку другому. Так вот, механизм защиты не позволит скачать файл никому, кроме клинта, для которого ссылка была сгенерирована. Это сложный механизм, но это возможно.
Также каждая ссылка может иметь "время" жизни, т.е. диапазон времени, в котором она активна.
LEONeso пишет:
Как делается это "- Контролировать кол-во потоков скачивания для каждого IP." ?

Возможно фиксировать кол-во потоков скачивания для каждого IP и запрещать, к примеру, более одного соединения с клиентом. PHP имеет инструменты, которые позволяют определить, ведется ли скачивание или уже закончено\отменено.
Invert Отправлено: 07 Февраля, 2011 - 23:49:41 • Тема: Скачивание файла с хостингсервера • Форум: Программирование на PHP

Ответов: 20
Просмотров: 1447
За основу возьмем такой URL:
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://site.ru/get.php?folder=files&file=file.zip


На основе полученных GET параметров формируем PATH:
PHP:
скопировать код в буфер обмена
  1. define ( 'DS', DIRECTORY_SEPARATOR );
  2. define ( 'ROOT_DIR', dirname ( __FILE__ ) . DS );
  3. define ( 'FILE_DIR', ROOT_DIR . 'files_for_download' . DS ); // Это наша директория, в которой лежат файлы
  4.  
  5. // Не забываем о проверках перед использованием данных
  6. $filePath = FILE_DIR . $_GET[ 'folder' ] . DS . $_GET[ 'file' ];


Получаем нужные данные о файле: имя, размер, проверяем его наличие, разрешение на скачивание и тд.

Формируем заголовки:
PHP:
скопировать код в буфер обмена
  1. header ( "HTTP/1.1 200 OK" );
  2. header ( "Connection: close" );
  3. header ( "Content-Type: application/octet-stream" );
  4. header ( "Accept-Ranges: bytes" );
  5. header ( "Content-Disposition: Attachment; filename=" . $fileName );
  6. header ( "Content-Length: " . $fileSize );


И отдаем сам файл:



Код писал на коленке, но механизм работы должен быть понятен.
Это самая простейшая реализация.

Еще можно:
- Вести логи доступа к файлам, в которых указывать IP, время, имя файла, браузер, акаунт и тд.
- Регулировать для каждого пользователя или группы скорость скачивания.
- Регулировать уровни доступа к файлам, кому качать можно, а кому нет.
- Контролировать кол-во потоков скачивания для каждого IP.
- Защищать файл от несанкционированного скачивания.
и тд и тп ...
Invert Отправлено: 07 Февраля, 2011 - 21:33:51 • Тема: Tag 'select' • Форум: Программирование на PHP

Ответов: 8
Просмотров: 640
Нужно написать новый браузер на PHP.
Вы разделом ошиблись и заголовков топика.
Invert Отправлено: 07 Февраля, 2011 - 21:00:45 • Тема: Скачивание файла с хостингсервера • Форум: Программирование на PHP

Ответов: 20
Просмотров: 1447
LEONeso пишет:
Invert, ведь это и есть прямая ссылка на файл.

Это да, но я вам немного про другое объяснял.

JustUserR все верно пишет.

Давайте начнем сначала. Вы напишите что именно требуется от вашего скрипта, а я вам постараюсь подсказать как реализовать. А то вижу вы немного не в теме.
(Добавление)
Вот смотрите, примеры URL:

1. Скачивание файла по прямой ссылке:
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://site.ru/files/catalog/file.zip


2. Скачивание через скрипт без ЧПУ:
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://site.ru/get.php?do=files/catalog/file.zip
  2. http://site.ru/get.php?folder=files&catalog=catalog&name=file.zip


3. Через скрипт с помощью ЧПУ:
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://site.ru/get/files/catalog/file.zip


4. С помощью ЧПУ, с сокрытием имени:
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://site.ru/get/567827
Invert Отправлено: 07 Февраля, 2011 - 17:40:37 • Тема: Как реализовать вход на сайт через мой скрипт см. внутри! • Форум: Напишите за меня, пожалуйста

Ответов: 10
Просмотров: 114
Нужна еще одна тема: Как с помощью cURL авторизироваться ВК!
Invert Отправлено: 07 Февраля, 2011 - 17:39:38 • Тема: Как реализовать вход в контакт на свою страничку через адресную строку? • Форум: Напишите за меня, пожалуйста

Ответов: 8
Просмотров: 107
eazylow пишет:
я говорю именно вход выполнить

Подозреваю, что никак, если у ВК не реализован механизм подобной авторизации.
Invert Отправлено: 07 Февраля, 2011 - 16:57:48 • Тема: Скачивание файла с хостингсервера • Форум: Программирование на PHP

Ответов: 20
Просмотров: 1447
LEONeso пишет:
Хотя наверное проще использовать прямой путь к файлу? Не знаю, что может случиться при таком подходе.

Может случится скачивание файлов перебором, игнорируя все ваши страницы.
LEONeso пишет:
если использовать шифрование md5, то при проверке истенности запрашиваемого пути, придется проверять таким же способом все доступные пути

Это смотря как сделать. Я советовал использовать MD5 для шифрования спец. ключа, который находится в URI, вместе с PATH к файлу. Подобная схема хороша тем, что MD5 хеш не поддается обратному преобразованию.

Если в URI не передавать PATH, то можно использовать короткий URI-синоним, к примеру:

В этом случае где-то придется хранить все эти синонимы.

Вариантов множество, все зависит от задачи: организовать удобный механизм скачивания, защитить от несанкционированного скачивания, еще что-то?
(Добавление)
Пробуйте для начала обычным способом:
CODE (htmlphp):
скопировать код в буфер обмена
  1. /get/catalog/directory/file.ext


Потом уже будете пробовать другие варианты, если будет необходимость.

Страниц (15): В начало « ... 5 6 7 8 [9] 10 11 12 13 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB