Home > mod_rewrite, php > Site verification over mod_rewrite or error 404 redirect

Site verification over mod_rewrite or error 404 redirect

Ένας τρόπος για να ελέγχεις αν ανήκει ένα domain σε κάποιον, είναι να του ζητήσεις να βάλει ένα αρχείο (zero byte) στον docroot του site του, όπως γίνεται στο google html verification. Αυτό είναι εύκολο να το ελέγξεις με php χρησιμοποιώντας την fopen ή την fsockopen. Τι γίνεται όμως αν υπάρχει rewrite module για να έχει friendly urls (seo) ή error 404 με redirect σε κάποια άλλη σελίδα (παλιά τεχνική – σήμερα αποφεύγεται για διάφορους λόγους). Σε αυτές τις δύο περιπτώσεις, χωρίς να υπάρχει το αρχείο, ο έλεγχος θα βρίσκει ότι υπάρχει. Η λύση είναι πολύ απλή, ανοίγουμε το connection και διαβάζουμε τα raw data. Αν δεν υπάρχει η σελίδα το connection θα αποτύχει. Αν όμως πετύχει το connection τότε θα πρέπει να μην υπάρχουν καθόλου raw data.

function url_valid($url) {
	$found=true;
	$fp=@fopen($url,"r");
	if ($fp) {
		if (fgetc($fp)) $found=false;
		fclose($fp);
	} else
		$found=false;
	return $found;
}

mod_rewrite, php ,

blog comments powered by Disqus