Anasayfa > Programlama > PHP > Kullanıcıdan Habersiz Program Çalıştırma
Hazırlanıyor..

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 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

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 !

Yorum Ekle  

Bölüm Başlık İlgili Dökümanlar

Animasyon Görüntülü Ders - Habersiz güncellemeler! Habersiz güncellemeler!
Windows işletim sistemlerinin olmazsa olmazı otomatik güncellemelerle ilgili yeni bir sorun ortaya çıktı. Her ne kadar Microsoft, otomatik güncelleme uygulamasında so...

Döküman / Makale - Register Globals On Gibi Çalıştırma Register Globals On Gibi Çalıştırma
Merhaba eyer hostunuzda register_globals kapalıysa bu durumda 3 tane en basit yapabileceğimiz şey var.Mesela index.php?sayfa=iletisim şeklinde çalışıyorsa siteniz ...

Döküman / Makale - Motor çalıştırma  problemleri Motor çalıştırma problemleri
ATEŞLEME OLMAMASI: Bozuk yada zayıf pil.,kötü elektrik bağlantısı, yanmış buji. Bujinin e...

Döküman / Makale - Windows program kısayolları Windows program kısayolları
compmgmt.msc  Bilgisaray yönetimini acar clipbrd.exe  Pano islemcisini acar cleanmgr.exe  Disk temizliciyi acar ciadv.msc  Diz...

Animasyon Görüntülü Ders - 64 adet 64-bit program... 64 adet 64-bit program...
Windows 7'nin çıkışı ile birlikte 64-bit'lik bilgisayarların satışı arttı. Daha hızlı, daha güvenli ve belleği daha iyi kullanan 64-bit'lik uygulamaları denemek istiy...

Reklam Netinternet
Gizlilik | Copyright © 2006-2009 ™ Tüm hakları saklıdır.
Powered by BilgiPortal v2.2
Frasb Etiler WebTasarım Web Tasarım