<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Ограничиваем доступ к файлам на сервере</title>
	<atom:link href="http://www.simplecoding.org/ogranichevaem-dostup-k-faylam-na-servere.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simplecoding.org/ogranichevaem-dostup-k-faylam-na-servere.html</link>
	<description>Блог о программировании</description>
	<lastBuildDate>Fri, 10 Sep 2010 00:40:07 +0000</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Galla</title>
		<link>http://www.simplecoding.org/ogranichevaem-dostup-k-faylam-na-servere.html#comment-10763</link>
		<dc:creator>Galla</dc:creator>
		<pubDate>Fri, 23 Apr 2010 16:19:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=715#comment-10763</guid>
		<description>Спасибо помогло!</description>
		<content:encoded><![CDATA[<p>Спасибо помогло!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/ogranichevaem-dostup-k-faylam-na-servere.html#comment-3625</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Fri, 16 Jan 2009 19:08:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=715#comment-3625</guid>
		<description>Согласен, список файлов лучше хранить в базе, а не читать каждый раз с винчестера. Хотя если страница кэшируется, то разница небольшая.

Вынос файлов за пределы DOCUMENT_ROOT тоже вариант. Можно не думать о том как запретить доступ к файлам.
Но остается проблема - высокое потребление ресурсов при отдаче через PHP скрипт.</description>
		<content:encoded><![CDATA[<p>Согласен, список файлов лучше хранить в базе, а не читать каждый раз с винчестера. Хотя если страница кэшируется, то разница небольшая.</p>
<p>Вынос файлов за пределы DOCUMENT_ROOT тоже вариант. Можно не думать о том как запретить доступ к файлам.<br />
Но остается проблема &#8211; высокое потребление ресурсов при отдаче через <acronym title="PHP: Hypertext Preprocessor">PHP</acronym> скрипт.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: qnikst</title>
		<link>http://www.simplecoding.org/ogranichevaem-dostup-k-faylam-na-servere.html#comment-3623</link>
		<dc:creator>qnikst</dc:creator>
		<pubDate>Fri, 16 Jan 2009 14:41:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=715#comment-3623</guid>
		<description>ну не знаю, наверное я не модный но существует такой вариант:
1). все файлы лежат в папке филес вне корневого раздела, доступ к которому открыт для пхп через open_basedir. В базе данных хранятся их атрибуты, чтобы не тратить время на мученье hdd.
2). создаётся файл php файл вида data  в корне и прописывается в htaccess то что это скрипт.
3). доступ к файлам осуществяется через /data/path/filename:
в файле data есть следующие строки:

$url_array = explode(&quot;/&quot;, $_SERVER[&quot;REQUEST_URI&quot;]);//получили путь
if (/* условие того, что юзер подтвердил файл капчу и т.д. */){
  $dev = mysql_query(&quot;select type,name,leght ...&quot;);
  //получение данных
  header(&quot;Content-Type: application/x-force-download;name=&#039;name&#039;&quot;);
  header(&quot;Content-Length: $length&quot;);
  // и т.д.
  @readfile(dirname($_SERVER[&#039;DOCUMENT_ROOT&#039;]).&#039;/files/&#039;.$filename); 
}else{
  вывод страницы где пользователю надо что-то ввести
}


В общем чтобы не было лишний слов, скажу, что все проверки на валидность и прочие естественные вещи я не писал, только общую суть

Может метод и является странным но имеет право на жизнь</description>
		<content:encoded><![CDATA[<p>ну не знаю, наверное я не модный но существует такой вариант:<br />
1). все файлы лежат в папке филес вне корневого раздела, доступ к которому открыт для пхп через open_basedir. В базе данных хранятся их атрибуты, чтобы не тратить время на мученье hdd.<br />
2). создаётся файл php файл вида data  в корне и прописывается в htaccess то что это скрипт.<br />
3). доступ к файлам осуществяется через /data/path/filename:<br />
в файле data есть следующие строки:</p>
<p>$url_array = explode(&#034;/&#034;, $_SERVER["REQUEST_URI"]);//получили путь<br />
if (/* условие того, что юзер подтвердил файл капчу и т.д. */){<br />
  $dev = mysql_query(&#034;select type,name,leght &#8230;&#034;);<br />
  //получение данных<br />
  header(&#034;Content-Type: application/x-force-download;name=&#039;name&#039;&#034;);<br />
  header(&#034;Content-Length: $length&#034;);<br />
  // и т.д.<br />
  @readfile(dirname($_SERVER['DOCUMENT_ROOT']).&#039;/files/&#039;.$filename);<br />
}else{<br />
  вывод страницы где пользователю надо что-то ввести<br />
}</p>
<p>В общем чтобы не было лишний слов, скажу, что все проверки на валидность и прочие естественные вещи я не писал, только общую суть</p>
<p>Может метод и является странным но имеет право на жизнь</p>
]]></content:encoded>
	</item>
</channel>
</rss>
