Aynı sayfada çalıştırdığınızda, atıyorum index.php?islem=guncelle diyerek post edebilirsiniz. Ancak bunda küçük bir eksik olur. Yani sitenize zarar vermek isteyen biri "index.php?islem=guncelle" sayfasına farklı bir formdan post işlemi gerçekleştirebilir. Ne kadar işe yarar bilmiyorum ama ben genelde bu tür sayfalarda şu fonksiyonu kullanıyorum.

<?php 
function ajax_securty(){
	if (empty($_SERVER['HTTP_REFERER'])){
		exit;
	}else{
		$control = strpos($_SERVER['HTTP_REFERER'],'http://www.siteadresi.com');
                $control2 = strpos($_SERVER['HTTP_REFERER'],'http://siteadresi.com');
		if ($control === false and $control2 === false){
			exit;
		}
	}
}
?>
bu fonksiyonu şu şekilde kullanabilirsiniz.

if (isset ($_GET['islem']) ) {  
    $islem = $_GET['islem']; 
    if($islem=="guncelle"){
          ajax_securty();
          // işlemler
    }
}

bu fonksiyon sayesinde post edilen sayfa yani referer adresi sizin siteniz dışından geliyorsa sayfanın çalışmasını durduracak ve post işlemi gerçekleştirmeyecek.




Yani güzel bir deneme.php sayfası yazarsak şöyle olur
<?php 
function ajax_securty(){
	if (empty($_SERVER['HTTP_REFERER'])){
		exit;
	}else{
		$control = strpos($_SERVER['HTTP_REFERER'],'http://www.siteadresi.com');
                $control2 = strpos($_SERVER['HTTP_REFERER'],'http://siteadresi.com');
		if ($control === false and $control2 === false){
			exit;
		}
	}
}

if (isset($_GET['islem'])){
	if ($_GET['islem'] == 'guncelle'){
		ajax_securty();
		// yapılacak işlemler
	}
}
?>
<html>
<head>
<script type="text/javascript">
function deneme() {
	$.ajax({
		type:"POST",
		url:"deneme.php?islem=guncelle", 
		data:$('#deneme_form').serialize(),
		success: function(sonuc){
			if(sonuc=='ok'){
				alert("Başarıyla eklendi");
			}else if(sonuc=='hata'){
				alert("Bir hata oluştu");
			}
		}
	});
}
</script>
</head>
<body>
<form id="deneme_form" onsubmit="return false;" method="post">
	<input type="text" name="k_adi" />
	<input type="submit" value="gönder" onClick="deneme()" />
</form>
</body>
</html>