<?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; говнокод</title>
	<atom:link href="http://svdev.ru/tag/piece-of-shit/feed/" rel="self" type="application/rss+xml" />
	<link>http://svdev.ru</link>
	<description>Блокнот разработчика</description>
	<lastBuildDate>Wed, 19 May 2010 07:42:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Юмор: защита сайта от взлома</title>
		<link>http://svdev.ru/blog/hack-attempt/</link>
		<comments>http://svdev.ru/blog/hack-attempt/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 21:36:34 +0000</pubDate>
		<dc:creator>Дерябин Сергей</dc:creator>
				<category><![CDATA[неразобранное]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[говнокод]]></category>

		<guid isPermaLink="false">http://svdev.ru/?p=250</guid>
		<description><![CDATA[Встретилось в контексте защиты сайта. 2 предложенных варианта фильтрации входящих данных, один другого хлеще  
12345678910111213foreach&#40;$_GET as $key =&#38;gt; $val&#41; &#123;
$$key = stripslashes&#40;strip_tags&#40;htmlspecialchars&#40;$val, ENT_QUOTES&#41;&#41;&#41;;
&#125;
foreach&#40;$_POST as $key =&#38;gt; $val&#41; &#123;
if &#40;gettype &#40;$val&#41;!='array'&#41; &#123;
$$key = stripslashes&#40;strip_tags&#40;htmlspecialchars&#40;$val, ENT_QUOTES&#41;&#41;&#41;;
&#125; else &#123;
foreach&#40;$val as $k =&#38;gt; $v&#41; &#123;
$$val&#91;$k&#93; = stripslashes&#40;strip_tags&#40;htmlspecialchars&#40;$v, ENT_QUOTES&#41;&#41;&#41;;
&#125;
$$key=$val;
&#125;
&#125;
12345678910111213$post_arr=implode&#40;'.',$_POST&#41;;
$get_arr=implode&#40;'.',$_GET&#41;;
$cook_arr=implode&#40;'.',$_COOKIE&#41;;
$post_arr_key=implode&#40;'.',@array_flip&#40;$_POST&#41;&#41;;
$get_arr_key=implode&#40;'.',@array_flip&#40;$_GET&#41;&#41;;
$cook_arr_key=implode&#40;'.',@array_flip&#40;$_COOKIE&#41;&#41;;
$other_shtuki=@file_get_contents&#40;'php://input'&#41;;
$cracktrack = strtolower&#40;$post_arr.$get_arr.$cook_arr.$post_arr_key.$get_arr_key.$cook_arr_key.$other_shtuki&#41;;
$wormprotector = array&#40;'union','select','substring','/**/'&#41;; //тут дополни по своему вкусу кейворды [...]]]></description>
			<content:encoded><![CDATA[<p>Встретилось в контексте защиты сайта. 2 предложенных варианта фильтрации входящих данных, один другого хлеще <img src='http://svdev.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #000088;">$$key</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/stripslashes"><span style="color: #990000;">stripslashes</span></a><span style="color: #009900;">&#40;</span><a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span><a href="http://www.php.net/htmlspecialchars"><span style="color: #990000;">htmlspecialchars</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">ENT_QUOTES</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/gettype"><span style="color: #990000;">gettype</span></a> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">!=</span><span style="color: #0000ff;">'array'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #000088;">$$key</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/stripslashes"><span style="color: #990000;">stripslashes</span></a><span style="color: #009900;">&#40;</span><a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span><a href="http://www.php.net/htmlspecialchars"><span style="color: #990000;">htmlspecialchars</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">ENT_QUOTES</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$k</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #000088;">$$val</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$k</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/stripslashes"><span style="color: #990000;">stripslashes</span></a><span style="color: #009900;">&#40;</span><a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span><a href="http://www.php.net/htmlspecialchars"><span style="color: #990000;">htmlspecialchars</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$v</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">ENT_QUOTES</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000088;">$$key</span><span style="color: #339933;">=</span><span style="color: #000088;">$val</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$post_arr</span><span style="color: #339933;">=</span><a href="http://www.php.net/implode"><span style="color: #990000;">implode</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">,</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$get_arr</span><span style="color: #339933;">=</span><a href="http://www.php.net/implode"><span style="color: #990000;">implode</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">,</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$cook_arr</span><span style="color: #339933;">=</span><a href="http://www.php.net/implode"><span style="color: #990000;">implode</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">,</span><span style="color: #000088;">$_COOKIE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$post_arr_key</span><span style="color: #339933;">=</span><a href="http://www.php.net/implode"><span style="color: #990000;">implode</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">,@</span><a href="http://www.php.net/array_flip"><span style="color: #990000;">array_flip</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$get_arr_key</span><span style="color: #339933;">=</span><a href="http://www.php.net/implode"><span style="color: #990000;">implode</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">,@</span><a href="http://www.php.net/array_flip"><span style="color: #990000;">array_flip</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$cook_arr_key</span><span style="color: #339933;">=</span><a href="http://www.php.net/implode"><span style="color: #990000;">implode</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">,@</span><a href="http://www.php.net/array_flip"><span style="color: #990000;">array_flip</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_COOKIE</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$other_shtuki</span><span style="color: #339933;">=@</span><a href="http://www.php.net/file_get_contents"><span style="color: #990000;">file_get_contents</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'php://input'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$cracktrack</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/strtolower"><span style="color: #990000;">strtolower</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$post_arr</span><span style="color: #339933;">.</span><span style="color: #000088;">$get_arr</span><span style="color: #339933;">.</span><span style="color: #000088;">$cook_arr</span><span style="color: #339933;">.</span><span style="color: #000088;">$post_arr_key</span><span style="color: #339933;">.</span><span style="color: #000088;">$get_arr_key</span><span style="color: #339933;">.</span><span style="color: #000088;">$cook_arr_key</span><span style="color: #339933;">.</span><span style="color: #000088;">$other_shtuki</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$wormprotector</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'union'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'select'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'substring'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/**/'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//тут дополни по своему вкусу кейворды SQL- и PHP-инжекторов</span><br />
<span style="color: #000088;">$checkworm</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/str_replace"><span style="color: #990000;">str_replace</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$wormprotector</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'*'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$cracktrack</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$cracktrack</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$checkworm</span><span style="color: #009900;">&#41;</span><br />
<a href="http://www.php.net/die"><span style="color: #990000;">die</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p style="text-align: right;">С бескрайних просторов <a href="http://forum.searchengines.ru/showthread.php?t=385671">searchengines</a></p>
]]></content:encoded>
			<wfw:commentRss>http://svdev.ru/blog/hack-attempt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
