Anasayfa > Programlama > PHP > Kullanıcıdan Habersiz Program Çalıştırma

Kullanıcıdan Habersiz Program Çalıştırma




POST Metodu kullanılarak farklı sunuculardaki(sitelerdeki) programlara sanki kullandıkları programmış gibi işlem yaptırmak mümkündür.

Örneğin:

1. Örnek : Sitenizdeki bir programın ne dosya adının nede nerede olduğunun bilinmesini istemiyorsunuz. Yani kısaca kullanıcı formu doldurduktan sonra gönder butonuna bastığında işlem aslında bir başka program üzerinden gerçekleşecek ama kullanıcımızın ekranında formu gönderen programın görsel yüzü olacak.

2. Örnek: Kullanıcıdan aldığınız bilgileri bir başka sitedeki bir programa göndererek işlemlerin orada gerçekleşmesini istiyorsunuz ,tabi kullanıcınızın ne bu siteyi nede işlem yapılan programın url'sini görmesini istemediğiniz durumlarda kullanabilirsiniz.

3. Örnek: Bir başka sitededki sanal pos programına kredi kartı bilgilerini göndermek isteyebilirsiniz. Gibi

Örnekler çoğaltılabilir.

İlk önce bir form hazırlabiliriz. Tabi amacınız ne ise ona göre bir form olacak.

--form.html--

Şimdi gizli adlı programımızı yazalım.

--gizli.php---

<?
$dosya="gizlibilgi.txt";
$fp = fopen($dosya,"w");
fputs($fp,"Kişinin adı: ".$_POST[ad]." Kişinin soyadı: ".$_POST[soyad]." ");
fclose($fp);
print "işlem tamam";
?>

Yukarıdaki programımız esas bilgileri www.deneme.com/islemyapan.php programına bilgi göndereceğine göre, bu programıda yazalım.

Amacımız formdan gelen bilgileri bir dosyaya kaydetmek olsun.

--islemyapan.php--

<?
if (!isset($_POST[ad]) and !isset($_POST[soyad])){
include("form.html");
print "Formu eksiksiz doldurunuz";
exit();
}

$site="www.deneme.com";
$port=80;

$bilgi .= "ad=".$_POST[ad]."&soyad=".$_POST[soyad];
$baslik .= "POST /islemyapan.php HTTP/1.1 ";
$baslik .= "Content-Type: application/x-www-form-urlencoded ";
$baslik .= "Connection: Close ";
$baslik .= "Host: $site ";
$baslik .= 'Content-Length: ' . strlen($bilgi) . " ";

$fp = fsockopen ($site, $port);
$oku= "";
if (!$fp) {
echo "http://$s)te adlı site ile erişim sağlanmadı. ";
} else {
fputs ($fp, $baslik . $bilgi);
while (!feof($fp)) {
$oku .= fgets ($fp, 1024);
}
fclose ($fp);
}
if (eregi("işlem tamam",$oku)){
echo "İşlem tamamlandı : <a href='$PHP_SELF'>Giriş yap</a>";
}else{
die("İşlem başarılı olmadı bir hata var. Tekrar kontrol edin.");
}
?>

Bu programda yer alan "işlem tamam" cümlesi yukarıda yazdığımız gizli.php programı tarafından [PHP]eregi("işlem tamam",$oku)[/PHP] ile test edilecek. Şayet bilgiler islemyapan.php programı tarafından alındıysa bu cümle doğruluk kontrolünü sağlamış olcak.


Programı kendi bilgisayarlarında test etmek isteyenler www.deneme.com yerine örneğin localhost yazmaları gerekir.

Yukarıdaki işlemler bu durumda örneğin http://localhost/gizli.php şekinde gerçekleşecektir.


Sizde Apache2 örneğin windows'ta C: altında olduğunu varsayarak dosyaları koyacağınız yer.

C:Apache2htdocs|
|-- form.html
|-- gizli.php
|-- islemyapan.php

 Konulması gerekir.

Bu işlemleri yaptıktan sonra web tarayıcınızın adres satırına http://localhost/form.html yazıp programı test edin.

Dosyaların olduğu yerde (htdocs içinde) gizlibilgi.txt adlı bir dosyanın oluşması gerekir. Bu dosyayı açıp baktığınızda gönderdiğiniz bilgilerin kaydedildiğini görebilirsiniz.

http://localhost/form.html formu gönderdikten sonra adres satırına bakın. http://localhost/gizli.php şekinde olacaktır. Asıl işlemi yapan islemyapan.php programının adres satırında görünmediğini görebilirsiniz.

NOT:

Diyelim ki islemyapan.php programı C:Apache2htdocsornek Dizini altında ise bu durumda gizli.php programı içindeki :

$baslik .= "POST /islemyapan.php HTTP/1.1 ";

satırını şu şekilde düzenlemeniz gerekir.

$baslik .= "POST /ornek/islemyapan.php HTTP/1.1 ";

<form method="POST" action="gizli.php">
Adınız :<input type="text" name="ad"><br>
Soyadınız :<input type="text" name="soyad"><br>
<input type="Submit" value="Gönder">
</form>
perlci

Bu makale hakkında ek bilgi eklemek için buraya tıklayınız

Bu makalenin yazar yada kaynağını bildirmek için tıklayınız.

Digg this Post! Add Post to del.icio.us Bookmark Post in Technorati Furl this Post!
Eklenme tarihi: 8-9-2006  Okunma: 2563

Bu Makaleye Verilen Puan:    Bu makaleye puan verilmemiş.
Bu Makaleye Puan Ver  

Bölüm Başlık Kullanıcı Yorumları


Bu makaleye yorum gönderilmemiş, ilk yorumu sen gönder !
Reklam Netinternet
Bazı hakları saklıdır: İçeriğin editör ve yazarlarımız tarafından oluşturulan kısımları ve site tasarımının hakkı saklıdır.  Bu sayfa en iyi 1280x1024 ve 1024x768 çözünürlükte izlenir.
Powered by BilgiPortal v2.2
Resim Emlak Canlı TV Firma Rehberi Firma Ekle Estetik çiçek Makale izafet ADSL Teknik Servis Yorumlar Müzik estetik evden eve nakliyat evden eve nakliyat