<?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>Web-development</title>
	<atom:link href="http://kozma.com.ua/feed" rel="self" type="application/rss+xml" />
	<link>http://kozma.com.ua</link>
	<description>Блокнот PHP, MySQL, HTML, CSS</description>
	<lastBuildDate>Mon, 05 Mar 2012 00:00:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Отличие модуля pagination в Kohana 3.2 от Kohana 3.1 и ниже</title>
		<link>http://kozma.com.ua/otlichie-modulya-pagination-v-kohana-3-2-ot-kohana-3-1-i-nizhe.html</link>
		<comments>http://kozma.com.ua/otlichie-modulya-pagination-v-kohana-3-2-ot-kohana-3-1-i-nizhe.html#comments</comments>
		<pubDate>Fri, 09 Dec 2011 17:25:10 +0000</pubDate>
		<dc:creator>Vadym</dc:creator>
				<category><![CDATA[Kohana]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://kozma.com.ua/?p=482</guid>
		<description><![CDATA[При использовании модуля пагинации (pagination) в kohana 3.2 столкнулся с неприятным нюансом: модуль не формировал правильные ссылки. Имея роут прописанный в bootstrap.php вида: 1 2 3 4 5 6 7 8 Route::set&#40;'catalog', 'catalog(/(/ )(/ .html))'&#41; -&#62;defaults&#40;array&#40; 'directory'  =&#62; 'index', 'action' =&#62; 'index', 'controller' =&#62; 'catalog', &#41;&#41;; где &#60;page&#62; используется для постраничной навигации, я получал все ссылки [...]]]></description>
			<content:encoded><![CDATA[<p>При использовании модуля пагинации (pagination) в kohana 3.2 столкнулся с неприятным нюансом:</p>
<p>модуль не формировал правильные ссылки.</p>
<p>Имея роут прописанный в bootstrap.php вида:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">Route<span style="color: #339933;">::</span><span style="color: #004000;">set</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'catalog'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'catalog(/(/
)(/
.html))'</span><span style="color: #009900;">&#41;</span>
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">defaults</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
<span style="color: #0000ff;">'directory'</span>  <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'index'</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">'action'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'index'</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">'controller'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'catalog'</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>где &lt;page&gt; используется для постраничной навигации, я получал все ссылки с одинаковым путем:</p>
<p>http://site/catalog/category/n</p>
<p>где n - номер страницы, который не выводился</p>
<p>Проблема оказалась в модуле <strong>https://github.com/kohana/pagination</strong> входившем ранее в ядро kohanы, он прекрасно работает до версии 3.1., но в kohana 3.2 он не работает.</p>
<p>Для версии 3.2 необходимо использовать модуль пагинации находящийся по ссылке:<br />
<strong>https://github.com/kloopko/kohana-pagination</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://kozma.com.ua/otlichie-modulya-pagination-v-kohana-3-2-ot-kohana-3-1-i-nizhe.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Скрипт определения PR и ТИЦ PHP 2011</title>
		<link>http://kozma.com.ua/skript-opredeleniya-pr-i-tic-php.html</link>
		<comments>http://kozma.com.ua/skript-opredeleniya-pr-i-tic-php.html#comments</comments>
		<pubDate>Fri, 09 Dec 2011 02:52:04 +0000</pubDate>
		<dc:creator>Vladimir</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://kozma.com.ua/?p=471</guid>
		<description><![CDATA[Скрипт приведен с учетом изменения строки запроса Google в сентябре 2011. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 [...]]]></description>
			<content:encoded><![CDATA[<p>Скрипт приведен с учетом изменения строки запроса Google в сентябре 2011.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//Google PR START</span>
<span style="color: #000000; font-weight: bold;">function</span> StrToNum<span style="color: #009900;">&#40;</span><span style="color: #000088;">$Str</span><span style="color: #339933;">,</span> <span style="color: #000088;">$Check</span><span style="color: #339933;">,</span> <span style="color: #000088;">$Magic</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$Int32Unit</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">4294967296</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$length</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$Str</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$length</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$Check</span> <span style="color: #339933;">*=</span> <span style="color: #000088;">$Magic</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check</span> <span style="color: #339933;">&gt;=</span> <span style="color: #000088;">$Int32Unit</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$Check</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$Int32Unit</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check</span> <span style="color: #339933;">/</span> <span style="color: #000088;">$Int32Unit</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000088;">$Check</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check</span> <span style="color: #339933;">&lt;</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">2147483648</span><span style="color: #009900;">&#41;</span> ? <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$Int32Unit</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$Check</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000088;">$Check</span> <span style="color: #339933;">+=</span> <span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$Str</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Check</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">function</span> HashURL<span style="color: #009900;">&#40;</span><span style="color: #000088;">$String</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$Check1</span> <span style="color: #339933;">=</span> StrToNum<span style="color: #009900;">&#40;</span><span style="color: #000088;">$String</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x1505</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x21</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$Check2</span> <span style="color: #339933;">=</span> StrToNum<span style="color: #009900;">&#40;</span><span style="color: #000088;">$String</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x1003F</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$Check1</span> <span style="color: #339933;">&gt;&gt;=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$Check1</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check1</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x3FFFFC0</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check1</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x3F</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$Check1</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check1</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x3FFC00</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check1</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x3FF</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$Check1</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check1</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x3C000</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check1</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x3FFF</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$T1</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check1</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x3C0</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check1</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x3C</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span><span style="color: #cc66cc;">2</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check2</span> <span style="color: #339933;">&amp;</span>
<span style="color: #208080;">0xF0F</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$T2</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check1</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0xFFFFC000</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check1</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x3C00</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #208080;">0xA</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span>
<span style="color: #009900;">&#40;</span><span style="color: #000088;">$Check2</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0xF0F0000</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$T1</span> <span style="color: #339933;">|</span> <span style="color: #000088;">$T2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">function</span> CheckHash<span style="color: #009900;">&#40;</span><span style="color: #000088;">$Hashnum</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$CheckByte</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$Flag</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$HashStr</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'%u'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$Hashnum</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
    <span style="color: #000088;">$length</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HashStr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$length</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>  <span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>  <span style="color: #000088;">$i</span> <span style="color: #339933;">--</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$Re</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HashStr</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">===</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Flag</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$Re</span> <span style="color: #339933;">+=</span> <span style="color: #000088;">$Re</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$Re</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$Re</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Re</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000088;">$CheckByte</span> <span style="color: #339933;">+=</span> <span style="color: #000088;">$Re</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$Flag</span> <span style="color: #339933;">++;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000088;">$CheckByte</span> <span style="color: #339933;">%=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span> <span style="color: #339933;">!==</span> <span style="color: #000088;">$CheckByte</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$CheckByte</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$CheckByte</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">===</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Flag</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">===</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$CheckByte</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$CheckByte</span> <span style="color: #339933;">+=</span> <span style="color: #cc66cc;">9</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #000088;">$CheckByte</span> <span style="color: #339933;">&gt;&gt;=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">'7'</span><span style="color: #339933;">.</span><span style="color: #000088;">$CheckByte</span><span style="color: #339933;">.</span><span style="color: #000088;">$HashStr</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> getpagerank<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fsockopen</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;toolbarqueries.google.com&quot;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">80</span><span style="color: #339933;">,</span> <span style="color: #000088;">$errno</span><span style="color: #339933;">,</span> <span style="color: #000088;">$errstr</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span> 
<span style="color: #b1b100;">else</span> 
<span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$out</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;GET /tbr?features=Rank&amp;sourceid=navclient-ff&amp;client=navclient-auto-ff&amp;ch=&quot;</span> <span style="color: #339933;">.</span> CheckHash<span style="color: #009900;">&#40;</span>HashURL<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&amp;q=info:&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$url</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; HTTP/1.1<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$out</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;Host: toolbarqueries.google.com<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$out</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;User-Agent: Mozilla/4.0 (compatible; GoogleToolbar 2.0.114-big;
 Windows XP 5.1)<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$out</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;Connection: Close<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #990000;">fwrite</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$out</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">feof</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fgets</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$pos</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;Rank_&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pos</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span> 
    <span style="color: #b1b100;">else</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$pagerank</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #339933;">,</span> <span style="color: #000088;">$pos</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">9</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #990000;">fclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">return</span> <span style="color: #000088;">$pagerank</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #666666; font-style: italic;">//Yandex TIC START</span>
<span style="color: #000000; font-weight: bold;">function</span> getTIC<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$str</span><span style="color: #339933;">=</span><span style="color: #990000;">file</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http://bar-navig.yandex.ru/u?ver=2&amp;show=32&amp;url='</span><span style="color: #339933;">.</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$str</span><span style="color: #339933;">==</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>
            <span style="color: #009900;">&#123;</span>
                        <span style="color: #000088;">$ans</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #b1b100;">else</span>
            <span style="color: #009900;">&#123;</span>
                        <span style="color: #000088;">$is_find</span><span style="color: #339933;">=</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/value=<span style="color: #000099; font-weight: bold;">\&quot;</span>(.\d*)<span style="color: #000099; font-weight: bold;">\&quot;</span>/&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">join</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$str</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$tic</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$is_find</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
                        <span style="color: #009900;">&#123;</span>
                                   <span style="color: #000088;">$ans</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
                        <span style="color: #009900;">&#125;</span>
                        <span style="color: #b1b100;">else</span>
                        <span style="color: #009900;">&#123;</span>
                                   <span style="color: #000088;">$ans</span><span style="color: #339933;">=</span><span style="color: #000088;">$tic</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                        <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
            <span style="color: #b1b100;">return</span> <span style="color: #000088;">$ans</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Инклюдите в свой код этот скрипт и вызываете:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
&nbsp;
<span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'http://site.com'</span><span style="color: #339933;">;</span>
getpagerank<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p><strong>Код проверен - 100% полностью рабочий!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://kozma.com.ua/skript-opredeleniya-pr-i-tic-php.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Kohana .htaccess No input file specified</title>
		<link>http://kozma.com.ua/kohana-htaccess.html</link>
		<comments>http://kozma.com.ua/kohana-htaccess.html#comments</comments>
		<pubDate>Tue, 06 Dec 2011 08:29:08 +0000</pubDate>
		<dc:creator>Vadym</dc:creator>
				<category><![CDATA[Kohana]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://kozma.com.ua/?p=456</guid>
		<description><![CDATA[Столкнулся с тем, что на некоторых хостингах  не работает роутинг у kohana. Я использую Kohana 3.2 с включенным .htaccess и отключенным index.php в url. На главную страницу попадаем без проблем, а вот при попытке перейти по внутренним ссылкам выдает следующую ошибку: No input file specified . При этом все роутинги прописаны правильно. На локальном хостинге [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-461   alignleft" src="http://kozma.com.ua/wp-content/uploads/2011/12/kohana.png" alt="kohana" width="200" height="70" /></p>
<p><br clear="all"></p>
<p>Столкнулся с тем, что на некоторых хостингах  не работает роутинг у kohana. Я использую Kohana 3.2 с включенным .htaccess и отключенным index.php в url.</p>
<p>На главную страницу попадаем без проблем, а вот при попытке перейти по внутренним ссылкам выдает следующую ошибку:</p>
<p><span style="font-weight: bold;"> No input file specified </span>.</p>
<p>При этом все роутинги прописаны правильно. На локальном хостинге все работает корректно.</p>
<p>Поиск в сети дает различные варианты, ниже приведен тот, которым я решил эту проблему.</p>
<p>Пишем в .htaccess</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">RewriteRule</span> .* index.php/$0 [PT,L]</pre></div></div>

<p>меняем на</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">RewriteRule</span> .* index.php?kohana_uri=$0 [PT,L,QSA]</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://kozma.com.ua/kohana-htaccess.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>«Открыть с помощью…» не работает в Windows 7 &#8211; Решение</title>
		<link>http://kozma.com.ua/otkryt-ne-rabotaet-v-windows-7-reshenie.html</link>
		<comments>http://kozma.com.ua/otkryt-ne-rabotaet-v-windows-7-reshenie.html#comments</comments>
		<pubDate>Sun, 04 Sep 2011 20:03:09 +0000</pubDate>
		<dc:creator>Vladimir</dc:creator>
				<category><![CDATA[OC Windows]]></category>

		<guid isPermaLink="false">http://kozma.com.ua/?p=449</guid>
		<description><![CDATA[Недавно в связи со сменой дисков перестали работать некоторые программы, которые были установлены по умолчанию для определенного типа файлов. Решается следующим образом: 1. В консоли - regedit (редактирование реестра). 2. Затем в реестре находим HKEY_CLASSES_ROOT\Applications\ 3. Далее ищем свою программу, которые не работает по дефолту. Как правильно, подменю: shell -> open ->command и дальше видим [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://kozma.com.ua/wp-content/uploads/2011/09/windows-7-file-association-open-with.jpg" alt="" title="windows-7-file-association-open-with" width="500" height="413" class="aligncenter size-full wp-image-451" /></p>
<p>Недавно в связи со сменой дисков перестали работать некоторые программы, которые были установлены по умолчанию для определенного типа файлов. </p>
<p>Решается следующим образом:</p>
<p>1. В консоли - <strong>regedit</strong> (редактирование реестра).</p>
<p>2. Затем в реестре находим <strong>HKEY_CLASSES_ROOT\Applications\</strong></p>
<p>3. Далее ищем свою программу, которые не работает по дефолту. Как правильно, подменю:<br />
 <strong>shell -> open ->command</strong> и дальше видим путь к своей программе - меняем его на правильный и все.</p>
<p>У меня все заработало. </p>
]]></content:encoded>
			<wfw:commentRss>http://kozma.com.ua/otkryt-ne-rabotaet-v-windows-7-reshenie.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Запрет доступа по IP через .htaccess</title>
		<link>http://kozma.com.ua/zapret-dostupa-po-ip-cherez-htaccess.html</link>
		<comments>http://kozma.com.ua/zapret-dostupa-po-ip-cherez-htaccess.html#comments</comments>
		<pubDate>Thu, 31 Mar 2011 03:56:51 +0000</pubDate>
		<dc:creator>Vladimir</dc:creator>
				<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://kozma.com.ua/?p=425</guid>
		<description><![CDATA[Для запрета доступа к папке сайта используются директивы allow и deny. Если необходимо запретить доступ с определенного IP-адреса - это будет выглядеть так: #Запрет с 16:18 31-03-2011 Order allow,deny allow from all Deny from 198.69.132.24 Закрыть доступ ВСЕМ, кроме определенных IP: Order deny,allow deny from all # Список IP через пробел, с которых доступ разрешен [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-440" title="apache" src="http://kozma.com.ua/wp-content/uploads/2011/03/apache.jpg" alt="apache" width="450" height="289" /></p>
<p>Для запрета доступа к папке сайта используются директивы <strong>allow</strong> и <strong>deny</strong>.</p>
<p>Если необходимо <strong>запретить доступ с определенного IP-адреса</strong> - это будет выглядеть так:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;">#Запрет с 16:18 31-03-2011</span>
<span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
<span style="color: #00007f;">allow</span> from <span style="color: #0000ff;">all</span>
<span style="color: #00007f;">Deny</span> from 198.69.132.24</pre></div></div>

<p><strong>Закрыть доступ ВСЕМ, кроме определенных IP</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">Order</span> <span style="color: #00007f;">deny</span>,<span style="color: #00007f;">allow</span>
<span style="color: #00007f;">deny</span> from <span style="color: #0000ff;">all</span>
<span style="color: #adadad; font-style: italic;"># Список IP через пробел, с которых доступ разрешен</span>
<span style="color: #00007f;">Allow</span> from 194.111.70.48 194.78.47.128</pre></div></div>

<p>В случае, если необходимо закрыть доступ по маске то используем неполный адрес:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;"># неполный адрес</span>
<span style="color: #ff0000;">198.69</span>.
<span style="color: #adadad; font-style: italic;"># полные адреса, соответствующие первому</span>
198.69.132.24
198.69.136.89
198.69.1.8</pre></div></div>

<p>Таким образом, если необходимо <strong>закрыть доступ по маске</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;">#Запрет с 06:18 31-03-2011</span>
<span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
<span style="color: #00007f;">allow</span> from <span style="color: #0000ff;">all</span>
<span style="color: #00007f;">Deny</span> from <span style="color: #ff0000;">198.69</span>.</pre></div></div>

<p>Далее, если нам нужно <strong>закрыть доступ только к определенной папке</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;"># Указываем папку, к которой запрещаем доступ</span>
&lt;<span style="color: #000000; font-weight:bold;">Directory</span> /root-access/&gt;
<span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
<span style="color: #adadad; font-style: italic;"># Всем, кроме ...</span>
<span style="color: #00007f;">allow</span> from <span style="color: #0000ff;">all</span>
<span style="color: #00007f;">Deny</span> from <span style="color: #ff0000;">198.69</span>.
&lt;/<span style="color: #000000; font-weight:bold;">Directory</span>&gt;</pre></div></div>

<p><strong>Разрешение доступа только с определенных IP к определенной папке</strong> (адреса записываются через <em>пробел</em>):</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;"># Указываем папку, к которой запрещаем доступ по имени хоста и его IP</span>
&lt;<span style="color: #000000; font-weight:bold;">Directory</span> /root-access/&gt;
<span style="color: #00007f;">Order</span> <span style="color: #00007f;">deny</span>, <span style="color: #00007f;">allow</span>
<span style="color: #00007f;">deny</span> from <span style="color: #0000ff;">all</span>
<span style="color: #adadad; font-style: italic;">#Адреса записываются через пробел</span>
<span style="color: #00007f;">Allow</span> from 198.69.144.98 198.69.144.94 198.69.144.92
&lt;/<span style="color: #000000; font-weight:bold;">Directory</span>&gt;</pre></div></div>

<p>Также есть возможность указывать в одном списке и хост-имя и IP-адрес:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;"># Указываем папку, к которой запрещаем доступ по имени и IP</span>
&lt;<span style="color: #000000; font-weight:bold;">Directory</span> /root-access/&gt;
<span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
<span style="color: #adadad; font-style: italic;"># Всем, ...</span>
<span style="color: #00007f;">allow</span> from <span style="color: #0000ff;">all</span>
<span style="color: #adadad; font-style: italic;"># ... кроме имя хоста и его IP</span>
<span style="color: #00007f;">Deny</span> from robot.fromx.com 148.145.21.14
&lt;/<span style="color: #000000; font-weight:bold;">Directory</span>&gt;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://kozma.com.ua/zapret-dostupa-po-ip-cherez-htaccess.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Старые компьютеры. Взгляд в прошлое.</title>
		<link>http://kozma.com.ua/starye-kompyutery-vzglyad-v-proshloe.html</link>
		<comments>http://kozma.com.ua/starye-kompyutery-vzglyad-v-proshloe.html#comments</comments>
		<pubDate>Thu, 24 Feb 2011 18:02:59 +0000</pubDate>
		<dc:creator>Vladimir</dc:creator>
				<category><![CDATA[Разное]]></category>

		<guid isPermaLink="false">http://kozma.com.ua/?p=409</guid>
		<description><![CDATA[Многие люди сегодня слишком молоды и, скорее всего не знают как выглядели первые компьютеры и сколько они стояли. Сегодня мы жалуемся на стоимость ноутбуков под управлением 2Ghz с 4 Гб оперативной памяти стоимостью $ 400,00, однако не так давно ноутбуки и ПК стояли намного выше. Вот несколько старых рекламных объявлений ПК из журналов, над которыми [...]]]></description>
			<content:encoded><![CDATA[<p>Многие люди сегодня слишком молоды и, скорее всего не знают как выглядели первые компьютеры и сколько они стояли. Сегодня мы жалуемся на стоимость ноутбуков под управлением 2Ghz с 4 Гб оперативной памяти стоимостью $ 400,00, однако  не так давно ноутбуки и ПК стояли намного выше. Вот несколько старых рекламных объявлений ПК из журналов, над которыми сегодня можно смеяться, а также оценить насколько технологии шагнули вперед.</p>
<p><img src="http://kozma.com.ua/wp-content/uploads/2011/02/oldpc-hard20.jpg" alt="старый винчесетер" title="oldpc-hard20" width="528" height="725" class="aligncenter size-full wp-image-410" /></p>
<p>10 Мб Жесткий диск стоил $ 3,495.00<br />
Сегодня вы можете купить 1TB диск за $ 85,00<br />
1TB в 100.000 раз больше, чем 10 Мб</p>
<p><img src="http://kozma.com.ua/wp-content/uploads/2011/02/oldpc-19.jpg" alt="мощный старый компьютер" title="oldpc-19" width="528" height="710" class="aligncenter size-full wp-image-411" /></p>
<p>Компьютер TRS-80 была произведен в конце 70-х и начале 80-х с 1.7Mhz процессором и 4 КБ ОЗУ<br />
Сегодня компьютеры 3Ghz с 4 Гб оперативной памяти<br />
3Ghz работают в 1700 раз быстрее, и 4 Гб оперативной памяти по объему в 1 млн. раз больше, чем 4 КБ ОЗУ</p>
<p><img src="http://kozma.com.ua/wp-content/uploads/2011/02/oldpc-23.jpg" alt="" title="oldpc-23" width="528" height="674" class="aligncenter size-full wp-image-412" /></p>
<p>Tandy 5000 - предлагает пылающий 20 МГц процессор и 2 Мб оперативной памяти =)</p>
<p><img src="http://kozma.com.ua/wp-content/uploads/2011/02/oldpc-hard.jpg" alt="" title="oldpc-hard" width="528" height="753" class="aligncenter size-full wp-image-413" /></p>
<p>Без комментариев =)</p>
<p>По материалам <a href="http://www.informationtechnologyschools.org/blog/2010/03/">http://www.informationtechnologyschools.org/blog/2010/03/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kozma.com.ua/starye-kompyutery-vzglyad-v-proshloe.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Набор для специй</title>
		<link>http://kozma.com.ua/nabor-dlya-specij.html</link>
		<comments>http://kozma.com.ua/nabor-dlya-specij.html#comments</comments>
		<pubDate>Thu, 24 Feb 2011 17:07:34 +0000</pubDate>
		<dc:creator>Vladimir</dc:creator>
				<category><![CDATA[Разное]]></category>

		<guid isPermaLink="false">http://kozma.com.ua/?p=400</guid>
		<description><![CDATA[В качестве подарка на 8-ое марта можно купить  набор для специй в интернет-магазине DeLuxe.com.ua Восьмое марта уже не за горами, так что не стоит тянуть. Цена на наборы - очень даже приятная. И такой подарок порадует любую хозяйку. Есть 8 разных вариантов наборов - от маленьких до больших на 12 предметов плюс мельница для перца [...]]]></description>
			<content:encoded><![CDATA[<p>В качестве подарка на 8-ое марта можно купить  <strong><a href="http://deluxe.com.ua/catalog/accessories/nabor_dlya_speciy_5.html">набор для специй</a></strong> в интернет-магазине DeLuxe.com.ua</p>
<p><img class="aligncenter size-full wp-image-402" title="nabor_dlya_speciy" src="http://kozma.com.ua/wp-content/uploads/2011/02/nabor_dlya_speciy.jpg" alt="набор для специй" width="450" height="282" /></p>
<p>Восьмое марта уже не за горами, так что не стоит тянуть.</p>
<p><strong>Цена</strong> на наборы  - очень даже приятная. И такой подарок порадует любую хозяйку.</p>
<p>Есть 8 разных вариантов наборов - от маленьких до больших на 12 предметов плюс мельница для перца и солонка.</p>
<p><img class="aligncenter size-full wp-image-403" title="nabor_dlya_speciy_2" src="http://kozma.com.ua/wp-content/uploads/2011/02/nabor_dlya_speciy_2.jpg" alt="Набор для специй 2" width="450" height="504" /></p>
<p>Адрес страницы магазина с наборами  <a href="http://deluxe.com.ua/catalog/accessories/">http://deluxe.com.ua/catalog/accessories/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kozma.com.ua/nabor-dlya-specij.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Локальное время сервера &#8211; выбор нужного часового пояса .htaccess</title>
		<link>http://kozma.com.ua/lokalnoe-vremya-servera-vybor-nuzhnogo-chasovogo-poyasa-htaccess.html</link>
		<comments>http://kozma.com.ua/lokalnoe-vremya-servera-vybor-nuzhnogo-chasovogo-poyasa-htaccess.html#comments</comments>
		<pubDate>Thu, 24 Feb 2011 05:02:06 +0000</pubDate>
		<dc:creator>Vladimir</dc:creator>
				<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://kozma.com.ua/?p=395</guid>
		<description><![CDATA[Если вы хотите установить нужный часовой пояс вместо часового пояса сервера. Это можно сделать при помощи .htaccess. Пишем туда: SetEnv TZ location, где location - часовой пояс нужного региона. Полный список часовых поясов можно посмотреть на странице http://www.php.net/manual/en/timezones.php Например, для Киева - указываем SetEnv TZ Europe/Kiev]]></description>
			<content:encoded><![CDATA[<p>Если вы хотите установить нужный часовой пояс вместо часового пояса сервера. Это можно сделать при помощи .htaccess. Пишем туда:</p>
<blockquote><p>SetEnv TZ <strong>location</strong>, где location - часовой пояс нужного региона.</p></blockquote>
<p>Полный список часовых поясов можно посмотреть на странице<a href="http://www.php.net/manual/en/timezones.php"> http://www.php.net/manual/en/timezones.php</a></p>
<p>Например, для Киева - указываем </p>
<blockquote><p>SetEnv TZ Europe/Kiev</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://kozma.com.ua/lokalnoe-vremya-servera-vybor-nuzhnogo-chasovogo-poyasa-htaccess.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Скрипт загрузки файлов PHP &#8211; уязвимость</title>
		<link>http://kozma.com.ua/skript-zagruzki-fajlov-php-uyazvimost.html</link>
		<comments>http://kozma.com.ua/skript-zagruzki-fajlov-php-uyazvimost.html#comments</comments>
		<pubDate>Wed, 23 Feb 2011 18:35:48 +0000</pubDate>
		<dc:creator>Vladimir</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://kozma.com.ua/?p=385</guid>
		<description><![CDATA[Перед тем как добавить открытую загрузку файлов на сайт необходимо продумать какие типы файлов мы разрешаем загружать. Например, только изображения с раширениями - .jpg, .png, Или, если список типов файлов не ограничивается, к примеру, только картинками или видеофайлами нужно запретить загружать файлы с расширением, которые могут нести потенциальную опасность. Пример: &#160; &#60;?php /* Создаем паттерн, [...]]]></description>
			<content:encoded><![CDATA[<p>Перед тем как добавить открытую загрузку файлов на сайт необходимо продумать какие типы файлов мы разрешаем загружать. Например, только изображения с раширениями - .jpg, .png,  </p>
<p>Или, если список типов файлов не ограничивается, к примеру, только картинками или видеофайлами нужно запретить загружать файлы с расширением, которые могут нести потенциальную опасность.</p>
<p>Пример:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">/* Создаем паттерн, где есть список запрещенных файлов по расширению */</span>
<span style="color: #000088;">$blacklist</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/.(com|bat|exe|cmd|vbs|msi|jar|php(\d?)|phtml|access|js)$/i'</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">/* Если файл содержит запрещенное разрешение - выход с уведомлением*/</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pattern</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #009900;">&#123;</span>
   <span style="color: #990000;">exit</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Файл с данным расширением запрещен к загрузке&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$uploaddir</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'uploads/'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$uploadfile</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$uploaddir</span> <span style="color: #339933;">.</span> <span style="color: #990000;">basename</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'userfile'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">move_uploaded_file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'userfile'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tmp_name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$uploadfile</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Файл загружен.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span> 
<span style="color: #b1b100;">else</span> 
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Файл не загружен.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Далее, если все-таки необходимо загружать файлы php, то можно, как вариант - менять их раширение на <strong>.txt</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
  <span style="color: #666666; font-style: italic;">// Обработчик формы загрузки</span>
  <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'filename'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tmp_name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// Извлекаем расширение</span>
    <span style="color: #000088;">$ext</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strrchr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'filename'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">// Запрещенные форматы</span>
    <span style="color: #000088;">$extentions</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;.phtml&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;.php&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;.html&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;.htm&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;.pl&quot;</span><span style="color: #339933;">,</span>
                        <span style="color: #0000ff;">&quot;.xml&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;.inc&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">// Проверка расширения по</span>
    <span style="color: #666666; font-style: italic;">// списоку запрещенных файлов</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ext</span><span style="color: #339933;">,</span> <span style="color: #000088;">$extentions</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$pos</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strrpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'filename'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$path</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'filename'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$pos</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;.txt&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$path</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'filename'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #666666; font-style: italic;">// Сохраняем файл в текущем каталоге</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">copy</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'filename'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tmp_name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$path</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Файл успешно загружен - &lt;a href=<span style="color: #006699; font-weight: bold;">$path</span>&gt;<span style="color: #006699; font-weight: bold;">$path</span>&lt;/a&gt;&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Также можно при помощи .htaccess папки, в которую загружаются файлы переопределить обработчик исполняемых файлов php, perl воспринимать их как текстовые:</p>
<blockquote><p>
RemoveHandler .php .phtml .pl<br />
AddType text/plain .php .phtml .pl
</p></blockquote>
<p>Еще можно в папке прописать запрет на исполнение скриптов:</p>
<blockquote><p>Options -ExecCGI<br />
AddHandler cgi-script .pl .py .php .jsp. htm .shtml .sh .asp .cgi</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://kozma.com.ua/skript-zagruzki-fajlov-php-uyazvimost.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Редирект домена с www на без www 301-ый редирект ModRewrite</title>
		<link>http://kozma.com.ua/redirekt-domena-s-www-na-bez-www-301-yj-redirekt-modrewrite.html</link>
		<comments>http://kozma.com.ua/redirekt-domena-s-www-na-bez-www-301-yj-redirekt-modrewrite.html#comments</comments>
		<pubDate>Fri, 18 Feb 2011 15:16:35 +0000</pubDate>
		<dc:creator>Vladimir</dc:creator>
				<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://kozma.com.ua/?p=378</guid>
		<description><![CDATA[В конфигурационном файле httpd.conf, если Apache загружает свои модули автоматически подключаем mod_rewrite: LoadModule rewrite_module modules/mod_rewrite.so В .htaccess добавить следующие строки: RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.example\.ru$ [NC] RewriteRule ^(.*)$ http://example.ru/$1 [R=301,L] И, наоборот, для переадресации с домена без WWW на домен с WWW: RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.ru$ [NC] RewriteRule (.*) http://www.example.ru/$1 [R=301,L] RewriteEngine On - [...]]]></description>
			<content:encoded><![CDATA[<p>В конфигурационном файле httpd.conf, если Apache загружает свои модули автоматически подключаем <strong>mod_rewrite</strong>:</p>
<blockquote><p>LoadModule rewrite_module modules/mod_rewrite.so</p></blockquote>
<p>В .htaccess добавить следующие строки:</p>
<blockquote><p>RewriteEngine On<br />
RewriteCond %{HTTP_HOST} ^www\.example\.ru$ [NC]<br />
RewriteRule ^(.*)$ http://example.ru/$1 [R=301,L] </p></blockquote>
<p>И, наоборот, для переадресации с домена без WWW на домен с WWW:</p>
<blockquote><p>RewriteEngine On<br />
RewriteCond %{HTTP_HOST} ^example\.ru$ [NC]<br />
RewriteRule (.*) http://www.example.ru/$1 [R=301,L]</p></blockquote>
<p><strong>RewriteEngine On</strong> - включает систему перезаписи Apache<br />
<strong>RewriteCond</strong> - директива, проверяющая перменные среды. Можно управлять исполнением директивы RewriteRule, предваряя ее любым кол-вом директив RewriteCond.<br />
<strong>RewriteRule</strong> - директива, определяющая правила перезаписи<br />
Аргумент <strong>[NC]</strong> - "No Case", или  "case-insensitive" - Сравнение URL выполняется без учета регистра.<br />
Аргумент <strong>[R=301,L]</strong> - означает, что перенаправление 301-ое, L (last) - обработка последнего правила и игнорирование всех последующих, начинает действовать только при верном соответствии правила указателю URL.</p>
<p>301-ый редирект - означает, что запрошеному ресурсу присвоен новый <strong>постоянный, permanent</strong> URI, и в будущем при обращении к этому ресурсу следует использовать возвращенный URL.</p>
<p>Подробнее на официальном <a href="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html">сайте Apache</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://kozma.com.ua/redirekt-domena-s-www-na-bez-www-301-yj-redirekt-modrewrite.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
