<?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>Mahir Yılmaz &#124; Kişisel Web Günlüğü Php Programmer &#187; register globals</title>
	<atom:link href="http://www.mahiryilmaz.com/tag/register-globals/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mahiryilmaz.com</link>
	<description>İçimden geçenler...</description>
	<lastBuildDate>Fri, 13 Aug 2010 04:54:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Register Globals nedir ve nasıl açılır?</title>
		<link>http://www.mahiryilmaz.com/register-globals-nedir-ve-nasil-acilir/</link>
		<comments>http://www.mahiryilmaz.com/register-globals-nedir-ve-nasil-acilir/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 05:56:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[register globals]]></category>

		<guid isPermaLink="false">http://www.mahiryilmaz.com/?p=108</guid>
		<description><![CDATA[Register globals php4.2.0 ve üstü sürümlerde kapalı, degeri off olarak gelir. Register globalsin açık ve programlama hatası olması durumunda uygulamalarınızda ciddi açıklar bulunmasına neden olur. Kısaca söylemek gerekirse register globalsin açık yani on olması durumunda uygulamanızda değişkenleri alırken $_GET ya da $_POST kullanmanıza gerek yoktur. Ee güzel bunu kullanmasak daha iyi olur, fazla kod yazmaktan [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">
<p style="text-align: justify;"><img class="alignleft size-medium wp-image-31" style="margin: 10px;" title="800px-php-n_logosvg" src="http://www.mahiryilmaz.com/wp-content/uploads/800px-php-n_logosvg.png" alt="" width="190" height="100" /> Register globals php4.2.0 ve üstü sürümlerde kapalı, degeri off olarak gelir. Register globalsin açık ve programlama hatası olması durumunda uygulamalarınızda ciddi açıklar bulunmasına neden olur. Kısaca söylemek gerekirse register globalsin açık yani on olması durumunda uygulamanızda değişkenleri alırken $_GET ya da $_POST kullanmanıza gerek yoktur. Ee güzel bunu kullanmasak daha iyi olur, fazla kod yazmaktan kurtulmuş oluruz denebilir fakat eğer uygulamanıza güveniyorsanız bunu diyebilirsiniz. Ama küçük kod hatalarından dolayı size büyük kayıplar verdirebilir. Peki nasıl olacak?</p>
<blockquote style="text-align: justify;"><p>&lt;?php<br />
if(fonsiyonumuz()){<br />
$degiskenimiz = true;<br />
}</p>
<p>if($degiskenimiz){<br />
include(&#8220;adminsayfamiz.php&#8221;);<br />
}<br />
?&gt;</p></blockquote>
<p style="text-align: justify;">Örnek de olduğu gibi basit bir kod yazdığımızı varsayalım. Ziyaretçi sayfa.php?degiskenimiz=1 sayfa.php?degiskenimiz=2 gibi herhangi birşey yazdığında bizim admin sayfamıza erişmiş olacaktır. Eğer register globals off olsaydı bu durum böyle olmazdı.</p>
<p><span id="more-108"></span></p>
<p style="text-align: justify;">Peki register globals&#8217;in sunucumuzda açık mı yoksa kapalı mı olduğunu nasıl anlarız ? Bunun için sunucu apache bilgilerine bakılabilir, php.ini okunabilir ama en kolay ve hızlı yolu bir dosya oluşturup içerisine;</p>
<blockquote style="text-align: justify;"><p>&lt;?php<br />
phpinfo();<br />
?&gt;</p></blockquote>
<p style="text-align: justify;">yazıp sunucunuza atıp çalıştırdığınızda sizin sunucunuz hakkında detaylı bilgiler verir. Ctrl+F&#8217;e basıp register yazıp aradığınızda register globals degerini görürsünüz (Muhtelemen off&#8217;dur).</p>
<p style="text-align: justify;">Register globalsi on durumu getirmek için 2 kolay yol bulunmaktadır. Bunun için .htaccess dosyanıza;</p>
<blockquote style="text-align: justify;"><p>php_flag register_globals on</p></blockquote>
<p style="text-align: justify;">yazarsınız ya da sayfanızın başına;</p>
<blockquote style="text-align: justify;"><p>foreach($_POST AS $key =&gt; $value) {<br />
${$key} = $value;<br />
}<br />
foreach($_GET AS $key =&gt; $value) {<br />
${$key} = $value;<br />
}</p></blockquote>
<p style="text-align: justify;">Eklerseniz açmış olursunuz.</p>
<p style="text-align: justify;">
<p style="text-align: justify;"><strong>Sonuç olarak;</strong> her ne kadar bizi fazla kod yazmaktan kurtarsa da gözden kaçabilecek uygulama hatalarından dolayı güvenlik açıkları meydana getirebilir. O yüzden kapalı kalması herkes için en faydalısı olacaktır.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mahiryilmaz.com/register-globals-nedir-ve-nasil-acilir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
