<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>cotonti.com : Закрытие файлов</title>
		<link>https://www.cotonti.com</link>
		<description>Son konu mesajları</description>
		<generator>Cotonti</generator>
		<language>en</language>
		<pubDate>Tue, 07 Apr 2026 21:50:04 -0000</pubDate>

		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Он ключик в сессии ищет, а выдает его только соотв. страница. В сиене пофиксено для категорий, однако об индексе речь не шла.]]></description>
			<pubDate>Çrş, 07 Nis 2010 16:57:18 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post23992]]></link>
		</item>
		<item>
			<title>jcrush</title>
			<description><![CDATA[Кстати есть такой глюк с загрузкой, он периодически возникает и пропадает.]]></description>
			<pubDate>Çrş, 07 Nis 2010 16:25:28 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post23991]]></link>
		</item>
		<item>
			<title>Aristei</title>
			<description><![CDATA[Подскажите пожалуйста:<br />
Я так понимаю в версии 0.6.7 при использовании ссылки вида <a href="http://www.site.ru/page.php?id=5&amp;amp;a=dl" rel="nofollow">http://www.site.ru/page.php?id=5&amp;amp;a=dl</a> загрузка файла не начнется если пользователь не находится на странице page.php?id=5. Т.е. пользователь будет перенаправлен на страницу page.php?id=5 и только от туда при клике <span style="text-decoration:underline">загрузить «Имя файла»</span> будет происходить загрузка?<br />
<br />
Странно работает ссылка вида <a href="http://www.site.ru/page.php?id=5&amp;amp;a=dl" rel="nofollow">http://www.site.ru/page.php?id=5&amp;amp;a=dl</a> например с главной сайта при клике на нее первый раз перенаправляет на страницу, возвращаясь затем обратно на главную и снова кликая по этой ссылке начинается скачка файла.]]></description>
			<pubDate>Çrş, 07 Nis 2010 12:09:31 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post23986]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8353#8353">#</a> <strong>Ratibor :</strong>
Вот именно что пользователь щелкнул по файлу, а мы его редиректим не поими куда <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
Лично меня это бесит.<br />
</blockquote>
Если точнее, мы посетителя не редиректим. Посетитель кликает ссылку, по которой он штатно переходит на страницу загрузки файла - это не редирект. Эту ссылку можно соответсвенно оформить - поставить слева иконку download, чтобы он знал, чего ожидать, тогда и раздражать поменьше будет. Да и вообще, переход для загрузки файла на специальную страницу - это сейчас широко распространённая практика.<br />
<br />
А страница эта - мера вынужденная. Для скрипта, отправляющего файл ( у меня в примерах он звался indirect.php ), необходимо сформировать в сесии данные, подтверждающие, что был заход на страницу зайта. Формировать в сесии эти данные надо только при генерировании хостом той страницы, где находится ссылка на скрипт indirect.php с ключом файла. Например, запрос AJAX на формирование таких данных при клике по ссылке в данном случае не подойдёт - такой запрос не является признаком того, что файл загружается со своей, а не с чужой страницы. Но отказываться от кеширования всех страниц, где могут быть ссылки на закрытые файлы, нельзя, а при обращении к кешированной странице ничего сформировать невозможно. Поэтому необходима такая дополнительная страница download.php, которая не будет кешироваться и при обращении к которой в сесии будут сформированы данные для indirect.php.<br />
<br />
<br />
<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8353#8353">#</a> <strong>Ratibor :</strong>
Он и так уже попал не туда куда собирался, кликнув на левом сайте по ссылке на файл на твоем сайте <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
Дак зачем ему еще и выдавать сообщение об ошибке, лучше уж направить его туда куда надо.<br />
</blockquote>
Предлагаю разложить по полочкам, чтобы не было путаницы. :)<br />
<br />
Задача: предотвратить скачивание закрытых файлов по прямым ссылкам.<br />
Решение: ликвидировать прямые ссылки на закрытые файлы, запретив доступ по HTTP к этим файлам.<br />
Исполнение: поместить закрытые файлы в специальный каталог, в котором должен находиться блокирующий .htaccess:<br />
<pre class="code">
&lt;Files ~ &quot;*&quot;&gt;
order allow,deny
deny from all
&lt;/Files&gt;
</pre>
<br />
Редирект в корневом .htaccess - это отдельная песня. :) Он может быть или не быть, хост может не поддерживать mod_rewrite, админ может промахнуться, прописывая редирект в корневом .htaccess - но всё это неважно, если в каталоге с закрытыми файлами лежит блокирующий .htaccess.<br />
<br />
<br />
<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8353#8353">#</a> <strong>Ratibor :</strong>
Можно к примеру создать страницу для этих целей, там написать типа сорри, но на этом сайте стоит защита от левых сайтов, так что еще раз приносим свои извинения и если хотите скачать данный файл, вам тудато. И нормальный человек поймет что на тот сайт больше заходить не надо, т.к. тот сайт жалкая копия.<br />
В общем в любом случае пользователя лучше грамотно перенаправить туда куда надо,<br />
причем средствами мод реврайта это получится более комфортно для всех.<br />
</blockquote>
Теперь про то, как перенаправить пользователя с левых ссылок. :)<br />
<br />
Для начала посмотрим цепочку к файлу на своём сайте.<br />
<br />
Положим для примера, что у нас есть такой специальный bbcode для закрытых файлов:<br />
<pre class="code">
&#091;hfile=indirect/test.zip name=test.zip /&#093;
</pre>
<br />
При создании кешированной страницы парсер bbcode вычисляет хэш-ключ и формирует ссылку на страницу загрузки с этим ключом в параметре:<br />
<div class="highlight"><pre class="php">
$filekey = md5('indirect/test.zip');
$body .= &quot;&lt;a href=https://www.cotonti.com/\&quot;download.php?key=$filekey\&quot;&gt;test.zip&lt;/a&gt;&quot;;
</pre></div>
<br />
Скрипт страницы загрузки download.php берёт по этому ключу из базы путь к файлу $fspec ( возможно, ещё берёт описание файла, его рейтинг и т.п. ), затем создаёт страницу со ссылкой на скрипт indirect.php ( тот, что будет отправлять файл, в параметре этой ссылки - тот же самый хэш-ключ ), и формирует в сессии данные для этого скрипта indirect.php:<br />
<div class="highlight"><pre class="php">
$filekey = sed_import('key', 'G', 'ALP');
// считывание из базы $fspec по $filekey
$body .= &quot;&lt;a href=https://www.cotonti.com/\&quot;indirect.php?key=$filekey\&quot;&gt;&quot; . basename($fspec) . &quot;&lt;/a&gt;&quot;;
$_SESSION&#091;'indirect'&#093;&#091;$filekey&#093;&#091;'fspec'&#093; = $fspec;
</pre></div>
<br />
<br />
Скрипт indirect.php с ключом $filekey лезет в сессию за $fspec. Если он там есть, то отправляет файл. Если нет, то значит посетитель пришёл по левой ссылке, тогда indirect.php сохраняет REFERER в сессии ( $_SESSION['indirect'][$filekey]['referer'] ) и делает редирект на download.php?key=$filekey. Скрипт download.php смотрит в сессию - ага, там сохранён REFERER, анализирует его, если он левый - говорит посетителю пару ласковых про этот REFERER :) и удаляет REFERER из сессии, а посетитель может скачать файл по ссылке на этой странице загрузки файла.<br />
<br />
В данном случае .htaccess для редиректа не нужен.<br />
<br />
Остался случай с прямой ссылкой на закрытый файл, например:<br />
hrttp://www.mysite.ru/indirect/test.zip<br />
Возникает вопрос: как была получена прямая ссылка? В параметрах её не было. В сеть она не передавалась, так что подсмотреть её протокольным анализатором было невозможно. Ответ такой: ссылка была получена взломщиком из хэша md5. Сей господин обойдётся без редиректа на страницу загрузки файла, ему будет полезнее полюбоваться на сообщение об ошибке. :)<br />
<br />
Вывод: для закрытых файлов редирект в корневом .htaccess не нужен.<br />
<br />
<br />
P.S.<br />
И ещё раз про REFERER. ( Правда - то, что повторено трижды. (c) :) )<br />
<br />
Система распознавания &quot;свой-чужой&quot; на основе REFERER - это несерьёзно. Нет никакого смысла нагружать хост скриптами, пересылающими файлы, если при этом допустимость ссылок контролируется по REFERER. IMHO тогда уж лучше обойтись без излишних сложностей, средствами mod_rewrite в .htaccess:<br />
<pre class="code">
# anti hotlinking
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ &#091;NC&#093;
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mysite\.com/ &#091;NC&#093;
RewriteCond %{HTTP_REFERER} !babelfish &#091;NC&#093; # babelfish.yahoo.com
RewriteCond %{HTTP_REFERER} !/translate_c\? &#091;NC&#093; # translate.google.com
RewriteCond %{HTTP_REFERER} !^http://(www\.)?translate\.ru/ &#091;NC&#093; # translate.ru
RewriteRule !^img/mysite88x31\.gif$ - &#091;C,NC&#093;
RewriteRule !^img/hotlinking\.gif$ - &#091;C,NC&#093;
RewriteRule \.(jpe?g|gif|png|bmp|avi|mpe?g|vob|flv|swf|mp3|7z|gz|rar|zip|txt|pdf|ttf)$ <a href="http://mysite.com/img/hotlinking.gif" rel="nofollow">http://mysite.com/img/hotlinking.gif</a> &#091;L,NC&#093;
</pre>
Здесь файлы отсылаются по запросам с такими REFERER: пустой, свой сайт mysite.com, сайты онлайн-переводчиков. Баннер img/mysite88x31.gif отсылается по любым REFERER. В остальных случаях вместо запрошенных файлов отсылается img/hotlinking.gif.]]></description>
			<pubDate>Cum, 20 Şub 2009 08:57:15 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8450]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8351#8351">#</a> <strong>dervan :</strong>
Да я не про безопасность говорил, а про то, что HTTP-протокол передачи файла в PEAR HTTP_Download реализован лучше, обстоятельнее, чем в классе NDL. А класс NDL нужен только для передачи файла по HTTP-протоколу.<br />
</blockquote>
Да я не против <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
Раз PEAR HTTP_Download лучше дак и спорить не о чем <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
<br />
<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8351#8351">#</a> <strong>dervan :</strong>
Весьма распространённая практика. Например, сходи на Sourceforge, Cnet, и т.д.. А страницу эту можно сделать полезной - подробная информация о файле, число закачек/рейтинг и т.п.<br />
<br />
IMHO лучше выдать чёткое сообщение о конкретной ошибке, а не редиректить посетителя не пойми куда, куда он не собирался. :)<br />
</blockquote>
<br />
Как то не вяжутся эти два понятия <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
Вот именно что пользователь щелкнул по файлу, а мы его редиректим не поими куда <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
Лично меня это бесит.<br />
<br />
Теперь собственно об этом:<br />
<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8351#8351">#</a> <strong>dervan :</strong>
IMHO лучше выдать чёткое сообщение о конкретной ошибке, а не редиректить посетителя не пойми куда, куда он не собирался. :)<br />
</blockquote>
Он и так уже попал не туда куда собирался, кликнув на левом сайте по ссылке на файл на твоем сайте <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
Дак зачем ему еще и выдавать сообщение об ошибке, лучше уж направить его туда куда надо.<br />
Можно к примеру создать страницу для этих целей, там написать типа сорри, но на этом сайте стоит защита от левых сайтов, так что еще раз приносим свои извинения и если хотите скачать данный файл, вам тудато. И нормальный человек поймет что на тот сайт больше заходить не надо, т.к. тот сайт жалкая копия.<br />
В общем в любом случае пользователя лучше грамотно перенаправить туда куда надо,<br />
причем средствами мод реврайта это получится более комфортно для всех.]]></description>
			<pubDate>Per, 19 Şub 2009 18:51:07 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8353]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8341#8341">#</a> <strong>Ratibor :</strong>
Цель то не в том чтоб создать супер защищенное хранилище файлов,<br />
а в том чтоб элементарно защититься от разного рода сателлитов и клонов<br />
</blockquote>
А зачем тогда городить огород с передачей файла скриптом? :) Элементарную защиту с использованием REFERER можно сделать в .htaccess средствами mod_rewrite. <br />
<br />
<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8341#8341">#</a> <strong>Ratibor :</strong>
<strong>dervan</strong><br />
Если PEAR HTTP_Download позволяет это реализовать и в нем нет дыр в безопасности,<br />
то конечно лучше использовать его,<br />
тем более у него лицензия BSD и ничего даже переделывать не придется.<br />
</blockquote>
Да я не про безопасность говорил, а про то, что HTTP-протокол передачи файла в PEAR HTTP_Download реализован лучше, обстоятельнее, чем в классе NDL. А класс NDL нужен только для передачи файла по HTTP-протоколу.<br />
<br />
<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8341#8341">#</a> <strong>Ratibor :</strong>
По поводу кэшированных страниц.<br />
Насколько я понял в описанной тобой реализации получается юзер щелкает по ссылке<br />
и его перебрасывает на download.php, а оттуда он собственно и скачивает файл.<br />
Если это так, то это не приемлемо, не должно быть никаких редиректов.<br />
</blockquote>
Весьма распространённая практика. Например, сходи на Sourceforge, Cnet, и т.д.. А страницу эту можно сделать полезной - подробная информация о файле, число закачек/рейтинг и т.п.<br />
<br />
<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8341#8341">#</a> <strong>Ratibor :</strong>
ИМХО лучше использовать mod_rewrite и перекинуть пользователя на нужную тебе страницу,<br />
а не выводить сообщение об ошибке или что доступ запрещен.<br />
</blockquote>
IMHO лучше выдать чёткое сообщение о конкретной ошибке, а не редиректить посетителя не пойми куда, куда он не собирался. :)]]></description>
			<pubDate>Per, 19 Şub 2009 18:18:26 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8351]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<strong>dervan</strong><br />
Цель то не в том чтоб создать супер защищенное хранилище файлов,<br />
а в том чтоб элементарно защититься от разного рода сателлитов и клонов.<br />
Главное чтоб не было дыр в безопасности.<br />
<br />
Если PEAR HTTP_Download позволяет это реализовать и в нем нет дыр в безопасности,<br />
то конечно лучше использовать его,<br />
тем более у него лицензия BSD и ничего даже переделывать не придется.<br />
<br />
По поводу кэшированных страниц.<br />
Насколько я понял в описанной тобой реализации получается юзер щелкает по ссылке<br />
и его перебрасывает на download.php, а оттуда он собственно и скачивает файл.<br />
Если это так, то это не приемлемо, не должно быть никаких редиректов.<br />
<br />
<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8338#8338">#</a> <strong>dervan :</strong>
1.<br />
Этот пункт реализован, но усложнённо - применение mod_rewrite здесь избыточно. Можно реализовать проще: завести каталог для закрытых файлов, например indirect, и положить в него блокирующий .htaccess:</blockquote>
ИМХО лучше использовать mod_rewrite и перекинуть пользователя на нужную тебе страницу,<br />
а не выводить сообщение об ошибке или что доступ запрещен.]]></description>
			<pubDate>Per, 19 Şub 2009 15:21:45 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8341]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[<strong>Ratibor</strong>, разбирался я как-то с этим вопросом.<br />
<br />
Про реализацию на основе ndl-2003-05-19_10.zip. Подход верный, но контроль допустимости ссылки на закрытый файл сделан через REFERER - это неправильно, из-за этого неизбежны дыры.<br />
<br />
Попытки ограничить доступ к файлам проверкой REFERER ненадёжны и годятся разве что для простого anti-hotlinking'а, который можно сделать в .htaccess средствами mod_rewrite. Во-первых, REFERER легко подделать. Во-вторых, HTTP-запрос с пустым REFERER нельзя отвергать, но если его не отвергать - опять же получится дыра.<br />
<br />
Пример подделки REFERER.<br />
В <a href="http://deluxe.reget.com/ru/download.htm" rel="nofollow">ReGet Deluxe Personal</a> добавляем закачку: на закладке &quot;Общие&quot; в поле &quot;URL:&quot; вбиваем косвенную ссылку &quot;http://www.my_site.ru/my_files/examples/example02/get.php?file=test&quot;, на закладке &quot;HTTP&quot; в поле &quot;Ссылка&quot; вбиваем её же. После этого файл будет успешно скачан, несмотря на отсутствие прямой ссылки на него.<br />
<br />
Пример с пустым REFERER.<br />
Браузер посетителя - Opera 9 со снятым чекбоксом: Tools -&gt; Preferences... -&gt; Advanced -&gt; Network -&gt; Send referrer information (Инструменты -&gt; Настройки... -&gt; Дополнительно -&gt; Сеть -&gt; Отправлять данные о ссылающейся странице). Браузер не будет отправлять REFERER, и посетитель не сможет скачивать файлы, хотя и будет идти по ссылкам со страницы <a href="http://www.my_site.ru/my_files/examples/examples.html." rel="nofollow">http://www.my_site.ru/my_files/examples/examples.html.</a><br />
<br />
Реализация надёжного упрятывания файлов.<br />
<br />
1.<br />
К закрытым файлам не должно быть доступа по HTTP, т.е. прямых ссылок на них вообще не существует.<br />
<br />
2.<br />
Следствие из п.1: отправку файла по запросу HTTP должен делать скрипт, работающий аналогично HTTP-серверу - скрипт, считывающий файл с диска и отправляющий его в сеть в соответствии с протоколом HTTP.<br />
<br />
3.<br />
Данные для работы скрипта, отправляющего файл, должны формироваться при заходе посетителя на страницу со ссылкой на скачивание, и эти данные должны быть привязаны к этому заходу.<br />
<br />
Что сделано в приведённой тобой реализации.<br />
<br />
1.<br />
Этот пункт реализован, но усложнённо - применение mod_rewrite здесь избыточно. Можно реализовать проще: завести каталог для закрытых файлов, например indirect, и положить в него блокирующий .htaccess:<br />
<pre class="code">
&lt;Files ~ &quot;*&quot;&gt;
order allow,deny
deny from all
&lt;/Files&gt;
</pre>
<br />
2.<br />
Этот пункт тоже реализован. Отправку файла по протоколу HTTP делает класс NDL (файл ndl.class.php). Посмотрел, как формируются HTTP-заголовки, видно что реализация упрощённая - например, не формируется рекомендованный заголовок ETag. Может, и будет нормально работать, но IMHO лучше прикрутить <a href="http://pear.php.net/package/HTTP_Download" rel="nofollow">PEAR HTTP_Download</a>.<br />
<br />
3.<br />
Привязки к заходу на страницу нет вообще. Сделана проверка REFERER классом ANDL (файл andl.class.php), но такая проверка - дырявая.<br />
<br />
Вместо этого можно сделать реализацию через сессию.<br />
<br />
1) Реализация при отключенном кешировании страниц.<br />
<br />
Путь к закрытому файлу содержится на нераспарсенной странице в специальном bbcode, например с префиксом @:<br />
<pre class="code">
&#091;url=@indirect/test.zip&#093;test.zip&#091;/url&#093;
</pre>
<br />
При заходе на страницу парсер bbcode получает из пути ключ. С этим ключом парсер создаёт переменные в сессии:<br />
<div class="highlight"><pre class="php">
$sesskey = md5('indirect/test.zip');
$_SESSION&#091;'indirect'&#093;&#091;$sesskey&#093;&#091;'fspec'&#093; = 'indirect/test.zip';
$_SESSION&#091;'indirect'&#093;&#091;$sesskey&#093;&#091;'uid'&#093; = $usr&#091;'id'&#093;;
</pre></div>
и помещает на страницу ссылку на скрипт indirect.php, отправляющий файл:<br />
<div class="highlight"><pre class="php">
$body .= &quot;&lt;a href=https://www.cotonti.com/\&quot;indirect.php?$sesskey\&quot;&gt;test.zip&lt;/a&gt;&quot;;
</pre></div>
<br />
Действия скрипта indirect.php:<br />
<div class="highlight"><pre class="php">
&lt; ? php
if (!isset($_REQUEST&#091;session_name()&#093;))
{
	exit; // невозможно возобновить сессию
}
session_start();
if (empty($_SERVER&#091;'QUERY_STRING'&#093;)
	|| !isset($_SESSION&#091;'indirect'&#093;&#091;$_SERVER&#091;'QUERY_STRING'&#093;&#093;) // данные не сформированы, не было захода на страницу со ссылкой
	|| !file_exists($fspec = $_SESSION&#091;'indirect'&#093;&#091;$_SERVER&#091;'QUERY_STRING'&#093;&#093;&#091;'fspec'&#093;)
	|| $_SESSION&#091;'indirect'&#093;&#091;$_SERVER&#091;'QUERY_STRING'&#093;&#093;&#091;'uid'&#093; &lt; 1 // закачка разрешена только зарегестрированным посетителям
	)
{
	exit;
}
// отправка файла $fspec - PEAR HTTP_Download, либо класс NDL
...
</pre></div>
<br />
2) Реализация при включенном кешировании страниц.<br />
<br />
Надо ввести специальную страницу download.php, которая никогда не кешируется. Ссылки с кешированных страниц будут идти на неё, и при заходе на эту страницу download.php в сессии будут создаваться переменные для indirect.php, а на самой странице download.php будет помещена ссылка на скрипт indirect.php, отправляющий файл:<br />
<div class="highlight"><pre class="php">
$body .= &quot;&lt;a href=https://www.cotonti.com/\&quot;indirect.php?$sesskey\&quot;&gt;test.zip&lt;/a&gt;&quot;;
</pre></div>]]></description>
			<pubDate>Per, 19 Şub 2009 11:33:58 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8338]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[В общем я разобрался с вышеприведенным скриптом <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
Работает все на ура.<br />
Берем <a href="http://www.cotonti.com/datas/users/ndl-2003-05-19_10.zip">этот</a> скрипт.<br />
Создаем к примеру в корне папку my_files<br />
распаковываем скрипт в эту папку.<br />
Там вроде ошибка в ndl.class.php в 172 строке.<br />
удаляем эту строку, т.к. она там дважды прописана.<br />
далее в браузере вводим <a href="http://www.my_site.ru/my_files/examples/examples.html" rel="nofollow">http://www.my_site.ru/my_files/examples/examples.html</a><br />
щелкаем по ссылкам чтобы убедиться что прямые ссылки не выдаются.<br />
далее правим config.inc.php<br />
меняем <br />
<pre class="code">$allowToAll	= true;</pre>
на<br />
<pre class="code">$allowToAll	= false;</pre>
и ниже вписываем<br />
<pre class="code">$allowedHosts = array
(
	&quot;www.my_site.ru&quot;
);</pre>
<br />
Идем на <a href="http://www.my_site.ru/my_files/examples/examples.html" rel="nofollow">http://www.my_site.ru/my_files/examples/examples.html</a><br />
щелкаем по файлам и убеждаемся что с вашего сайта файлы грузятся нормально.<br />
Теперь копируем в буфер ссылку на файл и вводим в отдельном окне.<br />
Получаем фигвам, что и требовалось.<br />
Но это только пол дела, осталось защититься от прямых ссылок.<br />
Ну это уже проще простого <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
В .htaccess прописываем:<br />
<pre class="code">Options FollowSymLinks -Indexes
RewriteEngine On
RewriteBase &quot;/&quot;
RewriteRule ^(my_files)/(examples)/(data)/(.*)$ index.php &#091;NC,NE,L&#093; 
</pre>
<br />
Теперь вводим прямую ссылку и тоже получаем фигвам,<br />
т.е. нас перекидывает на главную страницу.<br />
При этом через скрипт файлы отдаются нормально и даже докачка работает.<br />
<br />
Что и требовалось <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
Просто и со вкусом.<br />
Возможно это и можно как то обойти, но это уже другая история <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
Свыше наворачивать нет смысла, т.к. никто не будет париться чтоб преодолеть даже это.<br />
<br />
Вот теперь все это прикрутить бы к движку <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" />]]></description>
			<pubDate>Per, 19 Şub 2009 03:09:58 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8324]]></link>
		</item>
		<item>
			<title>motor2hg</title>
			<description><![CDATA[Это может связано с тем что сайт переведён на UTF8, раньше работало без проблем, Тефра дерьма не делал никогда.  <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/sad.gif" alt=":-(" />]]></description>
			<pubDate>Per, 19 Şub 2009 02:38:29 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8323]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8317#8317">#</a> <strong>motor2hg :</strong>
Странно у меня переход на сайт! Понял у тебя Опера, она почему-то начинает закачку, Firefox переходит на сайт</blockquote>
В Opera и IE не переходит, а сразу начинает закаку.<br />
Я же сказал - это понты для приезжих. <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
<br />
Проверил также в FireFox, тоже не переходит на твой сайт, а начинается загрузка файла.<br />
Правда FireFox у меня под фрей, виндового нет.]]></description>
			<pubDate>Per, 19 Şub 2009 01:03:16 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8318]]></link>
		</item>
		<item>
			<title>motor2hg</title>
			<description><![CDATA[Странно у меня переход на сайт! Понял у тебя Опера, она почему-то начинает закачку, Firefox переходит на сайт]]></description>
			<pubDate>Per, 19 Şub 2009 00:47:30 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8317]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8314#8314">#</a> <strong>motor2hg :</strong>
Ну, так ты же знаешь архитектуру движка, а тот кто будет копировать контент твоего сайта, ему надо быстро и так глубоко заморачиваться он не станет<br />
</blockquote>
Да причем здесь знание архитектуры ? Не нужны никакие знания архитектуры.<br />
Даже если ты каким то чудом защитишься от скачивания по таким ссылкам:<br />
<a href="http://www.nikiza.ru/page.php?id=181&amp;a=dl" rel="nofollow">http://www.nikiza.ru/page.php?id=181&amp;a=dl</a><br />
Достаточно зайти на сайт и нажать на скачивание и сразу получаешь прямую ссылку.<br />
Так что без защиты от прямых ссылок - это деньги на ветер.<br />
<br />
И еще раз повторюсь, ты написал что если я с этого сайта кликну по этой ссылке:<br />
<a href="http://www.nikiza.ru/page.php?id=181&amp;a=dl" rel="nofollow">http://www.nikiza.ru/page.php?id=181&amp;a=dl</a><br />
то я попаду на твой сайт.<br />
Нифига я туда не попадаю, а начинается скачивание файла.]]></description>
			<pubDate>Per, 19 Şub 2009 00:40:23 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8315]]></link>
		</item>
		<item>
			<title>motor2hg</title>
			<description><![CDATA[Ну, так ты же знаешь архитектуру движка, а тот кто будет копировать контент твоего сайта, ему надо быстро и так глубоко заморачиваться он не станет]]></description>
			<pubDate>Per, 19 Şub 2009 00:33:17 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8314]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8312#8312">#</a> <strong>motor2hg :</strong>
Это ссылка на файл с моего сайта, так как cotonti.com  не включен в список сайтов которым разрешено на прямую качать с моего сервера то кликнув по ссылке юзер попадёт на мой сайт.<br />
</blockquote>
Да ну ? Блажен верующий <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
Чтото я не попадаю на твой сайт по этой ссылке, а сразу начинается скачивание файла <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
А уж тем более нет защиты от прямой ссылки:<br />
<a href="http://www.nikiza.ru/datas/users/1-anvirrus.rar" rel="nofollow">http://www.nikiza.ru/datas/users/1-anvirrus.rar</a><br />
<br />
Еще раз повторю, плагин тефры - это понты для приезжих,<br />
он не защищает ничего и ни от кого.]]></description>
			<pubDate>Per, 19 Şub 2009 00:13:01 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8313]]></link>
		</item>
		<item>
			<title>motor2hg</title>
			<description><![CDATA[<blockquote>Ты создал сайт, наполнил инфой и какимито файлами.<br />
Я беру и тупо копирую его, и всавляю прямые ссылки на файлы находящиеся на твоем сайте.<br />
Гугл при индексации моего сайта видит вот это:<br />
<a href="http://www.mysite.com/page.php?id=55&amp;a=dl" rel="nofollow">http://www.mysite.com/page.php?id=55&amp;a=dl</a><br />
т.е. тебе от этого никакой пользы.<br />
Я доволен, т.к. не надо напрягаться по поводу размещения файлов,<br />
мои юзеры тоже, а тебе только головняк в виде увеличенного трафика.<br />
<br />
Вот я и предлагаю зделать защиту от этого.<br />
Тогда пусть хоть за размещаются прямыми ссылками на файлы,<br />
все равно юзер при скачивании попадет на мой сайт.</blockquote>
<br />
Это тобой написано?<br />
<br />
Именно эту задачу и выполняет simple-leech-protection-2<br />
<br />
<a href="http://www.nikiza.ru/page.php?id=181&amp;a=dl" rel="nofollow">http://www.nikiza.ru/page.php?id=181&amp;a=dl</a><br />
<br />
Это ссылка на файл с моего сайта, так как cotonti.com  не включен в список сайтов которым разрешено на прямую качать с моего сервера то кликнув по ссылке юзер попадёт на мой сайт.]]></description>
			<pubDate>Çrş, 18 Şub 2009 23:58:26 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8312]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8310#8310">#</a> <strong>motor2hg :</strong>
Эту защиту уже сделал Тефра.<br />
</blockquote>
Этот скрипт ничего ни от кого не защищает.]]></description>
			<pubDate>Çrş, 18 Şub 2009 23:40:02 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8311]]></link>
		</item>
		<item>
			<title>motor2hg</title>
			<description><![CDATA[Эту защиту уже сделал Тефра.<br />
<br />
<a href="http://www.t3-design.com/simple-leech-protection-2/" rel="nofollow">http://www.t3-design.com/simple-leech-protection-2/</a>]]></description>
			<pubDate>Çrş, 18 Şub 2009 23:21:08 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8310]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8305#8305">#</a> <strong>Sergeich :</strong>
Я просто не понимаю зачем всё это? Если речь идёт о какой то конфиденциальной очень ценной информации, то высылайте её почтой своим клиентам.<br />
</blockquote>
Нет, речь не идет о какой то конфиденциальности,<br />
речь идет об защите файлов от незарегистрированных пользователей.<br />
Даже не то чтобы от зарегистрированных, а чтобы файл можно было скачать только находясь на сайте.<br />
В общем об элементарной защите от всяких сателлитов и клонов.<br />
<br />
Объясняю на пальцах:<br />
<br />
Ты создал сайт, наполнил инфой и какимито файлами.<br />
Я беру и тупо копирую его, и всавляю прямые ссылки на файлы находящиеся на твоем сайте.<br />
Гугл при индексации моего сайта видит вот это:<br />
<a href="http://www.mysite.com/page.php?id=55&amp;a=dl" rel="nofollow">http://www.mysite.com/page.php?id=55&amp;a=dl</a><br />
т.е. тебе от этого никакой пользы.<br />
Я доволен, т.к. не надо напрягаться по поводу размещения файлов,<br />
мои юзеры тоже, а тебе только головняк в виде увеличенного трафика.<br />
<br />
Вот я и предлагаю зделать защиту от этого.<br />
Тогда пусть хоть за размещаются прямыми ссылками на файлы,<br />
все равно юзер при скачивании попадет на мой сайт.<br />
<br />
Вот <a href="http://www.phpclasses.org/browse/package/1134.html" rel="nofollow">тут</a> нашел кое что.<br />
<br />
Там чтобы скачать, надо зарегистрироваться.<br />
На всякий случай выкладываю тут:<br />
<a href="http://www.cotonti.com/datas/users/ndl-2003-05-19_10.zip">http://www.cotonti.com/datas/users/ndl-2003-05-19_10.zip</a><br />
<br />
Вот еще какой то antileech:<br />
<a href="http://www.cotonti.com/datas/users/1603_10.zip">http://www.cotonti.com/datas/users/1603_10.zip</a>]]></description>
			<pubDate>Çrş, 18 Şub 2009 22:43:05 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8309]]></link>
		</item>
		<item>
			<title>Sergeich</title>
			<description><![CDATA[Я просто не понимаю зачем всё это? Если речь идёт о какой то конфиденциальной очень ценной информации, то высылайте её почтой своим клиентам. Если речь идёт о каком то варезнике, то рапиды ждут вас, там все защиты уже реализованы.]]></description>
			<pubDate>Çrş, 18 Şub 2009 22:13:40 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8305]]></link>
		</item>
		<item>
			<title>Dayver</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8296#8296">#</a> <strong>Sergeich :</strong>
Если файл может скачать 1 человек, то его могут скачать все. Смысла во всех этих ухищрениях - ноль. В крайний случай никто не отменял рапиды всякие.<br />
</blockquote>
Не факт.....пускай один чел скачал файл(и он запомнил\записал прямую ссылку на него) и дал ссылку другому.......а если файл после этого переименован(например через час после того как его запросил\скачал первый чел)? то развив эту тему его можно будет скачать тооолько по ссылке вида <span style="text-decoration:underline">http://www.cotonti.com/page.php?id=55&amp;a=dl</span>....но считаю что вопрос из ряда фенечек которыми сейчас не стоит заниматся]]></description>
			<pubDate>Çrş, 18 Şub 2009 20:26:07 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8299]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8296#8296">#</a> <strong>Sergeich :</strong>
Если файл может скачать 1 человек, то его могут скачать все.</blockquote>
Неправильно.<br />
Если файл может скачать 1 человек, то его могут скачать все, но только находясь на сайте.<br />
Нужно чтобы была защита от прямых ссылок.<br />
<br />
Возьмем к примеру вот эту страницу:<br />
<a href="http://www.cotonti.com/downloads/plugins/general/FCKeditor">http://www.cotonti.com/downloads/plugins/general/FCKeditor</a><br />
там внизу есть ссылка для скачивания:<br />
<a href="http://www.cotonti.com/page.php?id=55&amp;a=dl">http://www.cotonti.com/page.php?id=55&amp;a=dl</a><br />
Также можно ввести:<br />
<a href="http://www.cotonti.com/datas/users/fckeditor_10.zip">http://www.cotonti.com/datas/users/fckeditor_10.zip</a><br />
<br />
И скачается один и тот же файл, что не есть гут.<br />
<br />
Нужна защита, если человек введет в браузере вот такое:<br />
<a href="http://www.cotonti.com/datas/users/tags_10.zip">http://www.cotonti.com/datas/users/tags_10.zip</a><br />
то должен получить фигвам <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
<br />
В общем можно было скачать файл только по этой ссылке:<br />
<a href="http://www.cotonti.com/page.php?id=55&amp;a=dl">http://www.cotonti.com/page.php?id=55&amp;a=dl</a><br />
да и то если только юзер зашел под своим именем и в данный момент находится на сайте.<br />
В общем чтоб никто при всем желании не смог узнать прямой ссылки на файл,<br />
ну или хотябы по прямой ссылке файлы не отдавались.]]></description>
			<pubDate>Çrş, 18 Şub 2009 19:55:36 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8297]]></link>
		</item>
		<item>
			<title>Sergeich</title>
			<description><![CDATA[Если файл может скачать 1 человек, то его могут скачать все. Смысла во всех этих ухищрениях - ноль. В крайний случай никто не отменял рапиды всякие.]]></description>
			<pubDate>Çrş, 18 Şub 2009 19:38:56 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8296]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=358#358">#</a> <strong>Trustmaster :</strong>
Да, нужно реализовать привязку сессии антилича к сессии Seditio с проверкой прав доступа. Мы это с  <strong>diablo</strong> обсуждали, вчера кажется. Нужно-то оно нужно, но сделать пока некому.</blockquote>
Планируется это или всеже пока заглохло ?]]></description>
			<pubDate>Çrş, 18 Şub 2009 19:19:01 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post8294]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Да, нужно реализовать привязку сессии антилича к сессии Seditio с проверкой прав доступа. Мы это с  <strong>diablo</strong> обсуждали, вчера кажется. Нужно-то оно нужно, но сделать пока некому. Я, как закончу с неотложными делами и организационными вопросами, в первую очередь займусь проектом &quot;The Royal BugHunt&quot;. Kilandor'у сейчас работы тоже хватает. Остальные пока в сторонке стоят, за что-либо более-менее серьёзное браться боятся, либо заняты.]]></description>
			<pubDate>Çrş, 06 Ağu 2008 16:49:06 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post358]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<strong>Trustmaster</strong><br />
Плагины эти легко обходятся, файл в оконцовке можно скачать.<br />
А вот про скрипт незнаю.<br />
<br />
Нужно чтоб закрытый файл никто впринципе не смог скачать, окромя тех пользователей которым разрешон доступ.<br />
Причем они могут скачать, только тогда когда зайдут на сайт под своим именем.]]></description>
			<pubDate>Çrş, 06 Ağu 2008 16:08:08 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post277]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Нужен антилич? Есть минимум три его разновидности для Seditio :) Есть простая проверка referer'а (2 строчки в .htaccess), есть плагин Тефры (который редко используется) и есть скрипт с генерацией временных ссылок, отслеживанием сессий, ограничением по скорости и числу потоков.]]></description>
			<pubDate>Çrş, 06 Ağu 2008 16:03:03 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post276]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[Идея или мысли вслух.<br />
<br />
Как закрыть файлы от посторонних ?<br />
Тэг хайд конечно хорошо, но.....<br />
К примеру я закрываю тэгом хайд ссылку на какой либо файл.<br />
Скрываю от гостей и обычных пользователей.<br />
Могут увидеть только привелигированные пользователи.<br />
Но, ничего не мешает, какому-нибудь привелигированному пользователю опубликовать прямую ссылку на файл на каком-нибудь другом сайте, что не есть гуд :(<br />
<br />
И еще для кучи по группам.<br />
Вроде под дле видел интересный модуль, к примеру на сайте делаешь закрытую облать,<br />
так вот этот можуль генерирует ключи для юзеров, ключь имеет временное ограничение,<br />
ты даешь ключь юзеру, он его вводит у себя в профиле и получает на время действие ключа доступ к закрытой части.<br />
Причем ключь подходит только тому юзеру, для кого он генерировался.]]></description>
			<pubDate>Çrş, 06 Ağu 2008 15:59:52 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=177&d=0#post275]]></link>
		</item>
	</channel>
</rss>