Maincore Dosyasında bilinmesi gerekenler…

Şubat 13, 2010 | Kategori: PHP - Fusion

Bu bölümde maincore.php dosyası ve bu dosyadaki önemli fonksiyonları inceleyelim… İlerki derslerde gerekli olacak fonksiyon bilgisine sahip olabilelim bu sayede.

Xss Ataklarına karşı önlem, bu önlem sitenize $GET global değişkeni ile gelen zararlı kodları temizleyen bir güvenlik önlemidir.

foreach ($_GET as $check_url) {
	if (!is_array($check_url)) {
		$check_url = str_replace("\"", "", $check_url);
		if ((preg_match("/<[^>]*script*\"?[^>]*>/i", $check_url)) || (preg_match("/<[^>]*object*\"?[^>]*>/i", $check_url)) ||
			(preg_match("/<[^>]*iframe*\"?[^>]*>/i", $check_url)) || (preg_match("/<[^>]*applet*\"?[^>]*>/i", $check_url)) ||
			(preg_match("/<[^>]*meta*\"?[^>]*>/i", $check_url)) || (preg_match("/<[^>]*style*\"?[^>]*>/i", $check_url)) ||
			(preg_match("/<[^>]*form*\"?[^>]*>/i", $check_url)) || (preg_match("/\([^>]*\"?[^)]*\)/i", $check_url)) ||
			(preg_match("/\"/i", $check_url))) {
		die ();
		}
	}
}
unset($check_url);

DB Fonksiyonları
dbquery -> DB de listeleme ekleme, silme, düzenleme komutlarını çalıştıran bir fonksiyondur. Örneğin veri eklemek için dbquery(“insert into db_tablosu values (‘veri’,'veri’,'veri’)”); şeklinde kullanılır.
dbcount -> Bir tablodaki belirli kritelerde ki içerik sayısını gösterir.
dbresult -> Mysql_result fonksiyonu ile aynı işlemi görür. Id si bilinen bir veriyi getirir.
dbrows -> Bir tablodaki tüm içerik satır sayısını gösterir.
dbarray -> dbquery komutu ile listelenen içeriklerin while ya da for gibi döngülerde açılımını sağlar. (Verileri belirli bir arraya atar)
dbconnect -> Database bağlantı fonksiyonudur. Bu fonksiyondaki veriler config dosyanızdan alınır.

function dbquery($query) {
	$result = @mysql_query($query);
	if (!$result) {
		echo mysql_error();
		return false;
	} else {
		return $result;
	}
}
 
function dbcount($field, $table, $conditions = "") {
	$cond = ($conditions ? " WHERE ".$conditions : "");
	$result = @mysql_query("SELECT Count".$field." FROM ".$table.$cond);
	if (!$result) {
		echo mysql_error();
		return false;
	} else {
		$rows = mysql_result($result, 0);
		return $rows;
	}
}
 
function dbresult($query, $row) {
	$result = @mysql_result($query, $row);
	if (!$result) {
		echo mysql_error();
		return false;
	} else {
		return $result;
	}
}
 
function dbrows($query) {
	$result = @mysql_num_rows($query);
	return $result;
}
 
function dbarray($query) {
	$result = @mysql_fetch_assoc($query);
	if (!$result) {
		echo mysql_error();
		return false;
	} else {
		return $result;
	}
}
 
function dbarraynum($query) {
	$result = @mysql_fetch_row($query);
	if (!$result) {
		echo mysql_error();
		return false;
	} else {
		return $result;
	}
}
 
function dbconnect($db_host, $db_user, $db_pass, $db_name) {
	$db_connect = @mysql_connect($db_host, $db_user, $db_pass);
	$db_select = @mysql_select_db($db_name);
	if (!$db_connect) {
		die("
<div style="font-family: Verdana; font-size: 11px; text-align: center;"><strong>Unable to establish connection to MySQL</strong>".mysql_errno()." : ".mysql_error()."</div>
");
	} elseif (!$db_select) {
		die("
<div style="font-family: Verdana; font-size: 11px; text-align: center;"><strong>Unable to select MySQL database</strong>".mysql_errno()." : ".mysql_error()."</div>
");
	}
}

Diğer Fonksiyonlar

redirect -> Sayfa yönlendirme. Header yolu ya da Javascript komutu ile sayfanızı yönlendirmenize olanak sağlar.
eğer redirect(“index.php”,true) şeklinde kullanılırsa js ile redirect(“index.php”) şeklinde kullanılırsa php nin header fonksiyonu ile yönlendirme yapar.

// Redirect browser using header or script function
function redirect($location, $script = false) {
	if (!$script) {
		header("Location: ".str_replace("&amp;", "&amp;", $location));
		exit;
	} else {
		echo "<script type="text/javascript"><!--mce:0--></script>\n";
		exit;
	}
}

stripinput -> Form verilerini temizleme fonksiyonu. Bu fonksiyon genelde textarea dışındaki tüm form elemanlarında kullanılır. zengin yazı editörlerinden gelen veriler üzerine bu fonksiyonu uygularsanız yazıların tüm still değişikliği kaybolacaktır. Çünkü bu fonksiyon tüm kodlamaları güvenilir hale getirmekle görevlidir.

function stripinput($text) {
	if (QUOTES_GPC) $text = stripslashes($text);
	$search = array("&amp;", "\"", "'", "\\", '\"', "\'", "&lt;", "&gt;", " ");
	$replace = array("&amp;", """, "'", "\", """, "'", "&lt;", "&gt;", " ");
	$text = str_replace($search, $replace, $text);
	return $text;
}


1 Yanıt: Maincore Dosyasında bilinmesi gerekenler…

Avatar

PHP-Fusion Maincore dosyası incelemesi

Şubat 26th, 2011 at 13:37

[...] stripinput -> Form verilerini temizleme fonksiyonu. Bu fonksiyon genelde textarea dışındaki tüm form elemanlarında kullanılır. zengin yazı editörlerinden gelen veriler üzerine bu fonksiyonu uygularsanız yazıların tüm still değişikliği kaybolacaktır. Çünkü bu fonksiyon tüm kodlamaları güvenilir hale getirmekle görevlidir. 1 2 3 4 5 6 7 function stripinput($text) { if (QUOTES_GPC) $text = stripslashes($text); $search = array("&", """, "'", "\", '"', "'", "<", ">", " "); $replace = array("&", """, "'", "", """, "'", "<", ">", " "); $text = str_replace($search, $replace, $text); return $text; } Kaynak:Arızalı.net [...]

Yorum Yap

Firefox about:config ayarları ile performans artışıEski bir firefox kullancısıyım ve en çok şikayet ettiğim şeylerden biri de firefox 10 - 15 sekme ile...Multi Twitter Adder – Twitter çoklu ekleyiciGene iyilik yapasım gelen günlerden birindeyiz :) İnternette dolanırken bulduğum twitter classını biraz...Html 5 ile formlarınız akıllanacak!Evet arkadaşlar bugün ki konumuz yeni nesil tarayıcıların desteklediği HTML5 in formlardaki değişimleri...JQuery ve PHP ile güvenlik kodu uygulamasıMerhaba arkadaşlar. Bugün içimden geldi en basitinden kolay eklenebilen bir güvenlik kodu uygulamasını...Efsun VuslatHepimiz zor dönemler geçirdik... Hepimizin özlemleri oldu... Hepimiz gözyaşı döktük çeşitli...
  • kaplan, Sadece (:Teşekkürlerrr melekkk :))) inşallah inşallah, fazla değil bir hafta tatil
  • snowdrop, Sadece (:kolay gelsııııııııııııın... en kısa zamandaa tatıllen ınsallah :)
  • kaplan, Sadece (:Hehe tamam iştee hayranlarını çok bekletmee, hatırladın artık :p Hem
  • Doğan, Sadece (:Sorma beybi ya çok ama çok tembel bir herif oldum
  • asitane, Ücretsiz Haber Sitesi Tasarımıbilgiler için teşekkürler, sağol.