<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>В лабиринте извилин &#187; Apache</title>
	<atom:link href="http://www.charnad.com/blog/category/programming/apache-programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.charnad.com</link>
	<description>Блог-центр им. CharnaD</description>
	<lastBuildDate>Wed, 18 Jan 2012 14:52:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Как в Kohana из-за Apache не работал Index Controller</title>
		<link>http://www.charnad.com/blog/kak-v-kohana-iz-za-apache-ne-rabotal-index-controller/</link>
		<comments>http://www.charnad.com/blog/kak-v-kohana-iz-za-apache-ne-rabotal-index-controller/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 12:12:09 +0000</pubDate>
		<dc:creator>CharnaD</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[kohana]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.charnad.com/?p=834</guid>
		<description><![CDATA[Закончилась моя суточная эпопея с Kohana, когда я пытался всего лишь работать с контроллером по имени Index. Проблема заключалась в том, что когда я заходил по адресу http://somesite.ru/kohana/index/save с надеждой, что выполнится контроллер index, метод save я получал ошибку о том, что мол страницы save-то и не существует. Особенно странно было то, что эта ошибка [...]]]></description>
			<content:encoded><![CDATA[<p><img class="oppic" src="http://www.charnad.com/blog/wp-content/uploads/pictures/apache_feather.png" alt=""/>
<p>Закончилась моя суточная эпопея с Kohana, когда я пытался всего лишь работать с контроллером по имени Index. Проблема заключалась в том, что когда я заходил по адресу http://somesite.ru/kohana/index/save с надеждой, что выполнится контроллер index, метод save я получал ошибку о том, что мол страницы save-то и не существует. Особенно странно было то, что эта ошибка проявлялась только на рабочем сервере под Debian. Сначала я стал дебажить роутинг Коханы, но докопавшись до самых глубин, выяснилось, что Apache отдает неверный параметр сервера PATH_INFO, вместо 'index/save', в роутинг передавался просто 'save', и это уже трактовалось как контроллер. Я перепроверил на всех доступных мне shared хостингах, везде все было в порядке, кроме рабочего сервера. </p>
<p>Ладно, подумал я, и переустановил Apache. Но проблема не решилась. Ладно, снова подумал я, и включил unstable пакеты и установил распоследний Apache, но проблема по прежнему не решилась. Вот тут я уже стал впадать в панику. А я вам скажу, что было уже утро следующего дня, как я обнаружил проблему. Просмотрев конфиги Апача я не нашел ничего криминального. Я грешил уже и на mod_rewrite, и на Debian, и на все подряд. </p>
<p>Почти отчаявшись, я стал разбирать Апач по кусочкам, выключив все модули, кроме mod_rewite и mod_php. И вот тут все заработало. Выяснилось, что mod_negotitation считал, что раз я напрямую не указал index.php в URI, значит я ошибся. И милостливо переписывал имя контроллера index в index.php. </p>
<p>Проблема решилась выключением этого злополучного модуля. Потрачено почти сутки времени и килограмм нервов.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.charnad.com/blog/kak-v-kohana-iz-za-apache-ne-rabotal-index-controller/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Как защитить upload</title>
		<link>http://www.charnad.com/blog/kak-zashitit-upload/</link>
		<comments>http://www.charnad.com/blog/kak-zashitit-upload/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 02:14:50 +0000</pubDate>
		<dc:creator>CharnaD</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.charnad.com/?p=638</guid>
		<description><![CDATA[Иногда в скриптах нужна возможность аплоада файлов. Картинок на сервер, архивов, чего угодно. Делается это все несложно, однако есть опасность, что некто сумеет обойти ваши фильтры и таки закачает php скрипт. Существует два метода и оба с помощью .htaccess. Вариант первый: php_value engine Off Это отключит интерпретацию и скрипты злоумышленника не будут работать. Только свои [...]]]></description>
			<content:encoded><![CDATA[<p><img class="oppic" src="http://www.charnad.com/blog/wp-content/uploads/pictures/apache_feather.png" alt=""/>Иногда в скриптах нужна возможность аплоада файлов. Картинок на сервер, архивов, чего угодно. Делается это все несложно, однако есть опасность, что некто сумеет обойти ваши фильтры и таки закачает php скрипт. Существует два метода и оба с помощью .htaccess.<br />
Вариант первый:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">php_value engine Off</pre></div></div>

<p>Это отключит интерпретацию и скрипты злоумышленника не будут работать. Только свои скрипты не кладите рядом, иначе любой сможет их скачать в виде исходных кодов. Но есть одно "НО". Нужно настроить опцию AllowOverride в конфиге Apache. Насколько я понял хватит AllowOverride Options. На shared хостингах, где PHP работает в CGI режиме, этой фичей воспользоваться не получится.</p>
<p>Вариант второй, предложенный <a href="http://kobzarev.com/"><strong>mihdan</strong></a>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">RemoveHandler .php
AddType application<span style="color: #000000; font-weight: bold;">/</span>x-httpd-php-source .php
RemoveType .php
Options <span style="color: #660033;">-ExecCGI</span> <span style="color: #660033;">-Indexes</span></pre></div></div>

<p>Этот метод совместим с большим количеством хостингов и на данный момент видится более предпочтительным.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.charnad.com/blog/kak-zashitit-upload/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

