<?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>Advanced Programming Stories &#187; site verification</title>
	<atom:link href="http://developstories.gr/tag/site-verification/feed/" rel="self" type="application/rss+xml" />
	<link>http://developstories.gr</link>
	<description>advanced web development techniques &#38; reverse engineering stories</description>
	<lastBuildDate>Tue, 27 Jul 2010 12:57:05 +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>Site verification over mod_rewrite or error 404 redirect</title>
		<link>http://developstories.gr/php/site-verification-over-mod_rewrite-or-error-404-redirect/</link>
		<comments>http://developstories.gr/php/site-verification-over-mod_rewrite-or-error-404-redirect/#comments</comments>
		<pubDate>Tue, 06 May 2008 09:46:38 +0000</pubDate>
		<dc:creator>thek</dc:creator>
				<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[404 error]]></category>
		<category><![CDATA[site verification]]></category>

		<guid isPermaLink="false">http://developstories/?p=16</guid>
		<description><![CDATA[Ένας τρόπος για να ελέγχεις αν ανήκει ένα domain σε κάποιον, είναι να του ζητήσεις να βάλει ένα αρχείο (zero byte) στον docroot του site του, όπως γίνεται στο google html verification. Αυτό είναι εύκολο να το ελέγξεις με php χρησιμοποιώντας την fopen ή την fsockopen. Τι γίνεται όμως αν υπάρχει rewrite module για να [...]]]></description>
			<content:encoded><![CDATA[<p>Ένας τρόπος για να ελέγχεις αν ανήκει ένα <a href="http://en.wikipedia.org/wiki/Domain">domain</a> σε κάποιον, είναι να του ζητήσεις να βάλει ένα αρχείο (zero byte) στον docroot του site του, όπως γίνεται στο <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=35658&amp;ctx=sibling">google html verification</a>. Αυτό είναι εύκολο να το ελέγξεις με <a href="http://www.php.net/">php</a> χρησιμοποιώντας την <a href="http://www.php.net/fopen">fopen</a> ή την <a href="http://www.php.net/fsockopen">fsockopen</a>. Τι γίνεται όμως αν υπάρχει <a href="http://en.wikipedia.org/wiki/Rewrite_engine">rewrite</a> module για να έχει <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=76329">friendly urls</a> (<a href="http://en.wikipedia.org/wiki/Search_engine_optimization">seo</a>) ή <a href="http://en.wikipedia.org/wiki/404_error">error 404</a> με redirect σε κάποια άλλη σελίδα (παλιά τεχνική – σήμερα αποφεύγεται για διάφορους λόγους). Σε αυτές τις δύο περιπτώσεις, χωρίς να υπάρχει το αρχείο, ο έλεγχος θα βρίσκει ότι υπάρχει. Η λύση είναι πολύ απλή, ανοίγουμε το connection και διαβάζουμε τα raw data. Αν δεν υπάρχει η σελίδα το connection θα αποτύχει. Αν όμως πετύχει το connection τότε θα πρέπει να μην υπάρχουν καθόλου raw data.</p>
<pre class="brush: php;">
function url_valid($url) {
	$found=true;
	$fp=@fopen($url,&quot;r&quot;);
	if ($fp) {
		if (fgetc($fp)) $found=false;
		fclose($fp);
	} else
		$found=false;
	return $found;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://developstories.gr/php/site-verification-over-mod_rewrite-or-error-404-redirect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
