PHP Install Klasörü Yapımı |Kullanıcıdan alınan verileri kullanarak|

'CaptainKanka

O Şimdi Asker!
14 Eki 2012
1,683
1,256
localhost/admin.php
Merhaba Arkadaşlar

Bu gün sizlere hazır sitelerin kurulumunda ki gibi install klasörü nasıl yapılır, veritabanımızı nasıl otomatik içeri aktarırız, kullanıcıdan alınan verilerle veri tabanı bağlantı dosyamızı nasıl oluştururuz bunun uygulamasını yapacağız.

p0qbke2.png


Öncelikle site dosyalarını paylaşayım.


Virüs Total


Öncelikle site dosyalarımızı sunucumuza atıyoruz. Sonra sitemize girdiğimizde include vt.php hatası alıyoruz. Çünkü site dosyalarında veritabanına bağlanması için gerekli dosyayı install ile kullanıcının sunucu adı, mysql kullanıcı adı, veritabanı adı ve şifresine göre oluşturacağız. sonrasında veri tabanımızı oluşturup (ben basit bir kullanıcı adı şifre tablosunu mysql e ekleyeceğim) site kurulduktan sonra çalışması için kullanıcı adı ve şifre girdisini install klasöründen mysql'e ekleyeceğiz. Tüm bunları sırayla yapalım.

Öncelikle install klasöründe index.php de bir form oluşturdum.


PHP:
<br><br><center><h1>Site Kurulum Sihirbazına Hoşgeldiniz</h1><br>
<h3>Lütfen kuruluma başlamadan önce bir mysql veritabanı oluşturunuz..</h3><br>

<form action="1.php" method="POST">

<h2>Sunucu adı</h2><input type="text" name="sunucuadi" placeholder="Ör:localhost"><br>
<h2>Mysql Kullanıcı Adı</h2><input type="text" name="kadi" placeholder="Ör:developer99"><br>
<h2>Mysql Şifreniz</h2><input type="password" name="sifre" placeholder="Ör:scx34.*65,2"><br>
<h2>Veritabanı Adınız</h2><input type="text" name="veritabani" placeholder="Ör:vt_name"><br>
<br>
<button type="submit"><h3>Gönder</h3></button>

</form>
</center>

Burada mysql bilgilerimizi kullanıcıdan form aracılığıyla alıp 1.php ye yönlendirdik. 1.php de ise

PHP:
<?php
ob_start();
    $sunucuadi=$_POST["sunucuadi"];
    $kullaniciadi=$_POST["kadi"];
    $sifre=$_POST["sifre"];
    $veritabaniadi=$_POST["veritabani"]; //tüm verileri çektik.

Tüm verileri çekip veritabanı bağlantısı yapalım.

PHP:
$dsn = "mysql:host=".$sunucuadi.";dbname=".$veritabaniadi.";charset=utf8mb4";//veritabanı adını girin
$user = $kullaniciadi;//kullanıcı adını girin
$passwd = $sifre;//şifreyi adını girin

$db = new PDO($dsn, $user, $passwd);

$db-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_WARNING);

Yukarıda dikkat edilmesi gereken konu çektiğim verileri tırnak sonrasında nokta sonrasında değişken ardından tekrar nokta tekrar tırnak ile yazmam. bunu daha sonrasında da kullanacağız.

Şimdi eğer veritabanı bağlantısı yapıldıysa 2. formumuzu görüntülüyoruz ve bunun actionunu 2.php ye yönlendiriyoruz.

Ardından girilen tüm verileri gizli bir input ile 2.php ye gönderiyoruz. input tipi gizli olmayanları ise kullanıcı tekrar dolduruyor.

Doldurdukları alan ise php admin girişimizin bilgileri.


PHP:
if($db){
    ?>
    <br><center><h1>Veritabanı Bağlantısı Başarılı</h1><br>


<form action="2.php" method="POST">

<input type="hidden" name="sunucuadi" value="<?php echo $sunucuadi;?>"><br>
<input type="hidden" name="kadi" value="<?php echo $kullaniciadi;?>"><br>
<input type="hidden" name="sifre" value="<?php echo $sifre;?>"><br>
<input type="hidden" name="veritabani" value="<?php echo $veritabaniadi;?>"><br>
<h2>Admin paneli için istediğiniz kullanıcı adını yazınız.</h2><br><input type="text" name="adminkadi"><br>
<h2>Şifrenizi Yazınız</h2><input type="password" name="adminsifre"><br>
<br>
<button type="submit"><h3>Gönder</h3></button>

</form>
</center>
    
<?php   
}else{
    echo 'Veritabanı bağlantısı yapılamadı lütfen bilgilerinizi kontrol ediniz.';
}
ob_end_flush();
?>

Ardından 2.php'ye geçelim.
Tüm verilerimizi çağırdıktan sonra


PHP:
    $sunucuadi=$_POST["sunucuadi"];
    $kullaniciadi=$_POST["kadi"];
    $sifre=$_POST["sifre"];
    $veritabaniadi=$_POST["veritabani"];
    $adminkadi=$_POST["adminkadi"];
    $adminsifre=$_POST["adminsifre"];
    

$dsn = "mysql:host=".$sunucuadi.";dbname=".$veritabaniadi.";charset=utf8mb4";//veritabanı adını girin
$user = $kullaniciadi;//kullanıcı adını girin
$passwd = $sifre;//şifreyi adını girin

$db = new PDO($dsn, $user, $passwd);

$db-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_WARNING);

$sorgu = $db->query("CREATE TABLE `girisim` (
  `id` int(11) NOT NULL,
  `username` text COLLATE utf8_turkish_ci NOT NULL,
  `password` text COLLATE utf8_turkish_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;

--
-- Tablo döküm verisi `girisim`
--

INSERT INTO `girisim` (`id`, `username`, `password`) VALUES
(1, '".$adminkadi."', '".$adminsifre."');");

veritabanımıza bağlanıp create table fonksiyonuyla tablolarımızı oluşturuyoruz. Ve ardından en aşağıdaki insert into methoduyla girisim isimli tablomuza kullanıcının sonradan girdiği admin panel değerlerini giriyoruz. Buradada tırnak nokta kullanımını unutmayalım.

Ve ardından veritabanı bağlantı dosyamızı istediğimiz klasöre oluşturmak kaldı.


PHP:
$yaz1='<?php

$dsn = "mysql:host='.$sunucuadi.';dbname='.$veritabaniadi.';charset=utf8mb4";//veritabanı adını girin
$user = "'.$kullaniciadi.'";//kullanıcı adını girin
$passwd = "'.$sifre.'";//şifreyi adını girin

$db = new PDO($dsn, $user, $passwd);

$db-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_WARNING);

?>';
$dosya = fopen ("metin.txt" , 'w'); //dosya oluşturma işlemi
$yaz=$yaz1;

fwrite ( $dosya , $yaz ) ;
fclose ($dosya);

$sonuc = rename('metin.txt','../inc/vt.php');

$dosyadan öncesinde vt.php dosyamızda neler yazacağını ayarladık ve bunu metin.txt olarak kaydettik.

Sonrasında ise metin.txt'yi istediğimiz klasöre vt.php adıyla kaydediyoruz. Ben sitemde inc dosyasının içinden vt.php olarak çektiğim için $sonuc un içine onu yazdım.

İstediğiniz gibi düzenleyip kullanabilirsiniz.


ctf0sk9.png


rtu29hy.png


 

chttrndz

Yeni üye
15 Kas 2021
39
19
Merhaba Arkadaşlar

Bu gün sizlere hazır sitelerin kurulumunda ki gibi install klasörü nasıl yapılır, veritabanımızı nasıl otomatik içeri aktarırız, kullanıcıdan alınan verilerle veri tabanı bağlantı dosyamızı nasıl oluştururuz bunun uygulamasını yapacağız.

p0qbke2.png


Öncelikle site dosyalarını paylaşayım.


Virüs Total


Öncelikle site dosyalarımızı sunucumuza atıyoruz. Sonra sitemize girdiğimizde include vt.php hatası alıyoruz. Çünkü site dosyalarında veritabanına bağlanması için gerekli dosyayı install ile kullanıcının sunucu adı, mysql kullanıcı adı, veritabanı adı ve şifresine göre oluşturacağız. sonrasında veri tabanımızı oluşturup (ben basit bir kullanıcı adı şifre tablosunu mysql e ekleyeceğim) site kurulduktan sonra çalışması için kullanıcı adı ve şifre girdisini install klasöründen mysql'e ekleyeceğiz. Tüm bunları sırayla yapalım.

Öncelikle install klasöründe index.php de bir form oluşturdum.


PHP:
<br><br><center><h1>Site Kurulum Sihirbazına Hoşgeldiniz</h1><br>
<h3>Lütfen kuruluma başlamadan önce bir mysql veritabanı oluşturunuz..</h3><br>

<form action="1.php" method="POST">

<h2>Sunucu adı</h2><input type="text" name="sunucuadi" placeholder="Ör:localhost"><br>
<h2>Mysql Kullanıcı Adı</h2><input type="text" name="kadi" placeholder="Ör:developer99"><br>
<h2>Mysql Şifreniz</h2><input type="password" name="sifre" placeholder="Ör:scx34.*65,2"><br>
<h2>Veritabanı Adınız</h2><input type="text" name="veritabani" placeholder="Ör:vt_name"><br>
<br>
<button type="submit"><h3>Gönder</h3></button>

</form>
</center>

Burada mysql bilgilerimizi kullanıcıdan form aracılığıyla alıp 1.php ye yönlendirdik. 1.php de ise

PHP:
<?php
ob_start();
    $sunucuadi=$_POST["sunucuadi"];
    $kullaniciadi=$_POST["kadi"];
    $sifre=$_POST["sifre"];
    $veritabaniadi=$_POST["veritabani"]; //tüm verileri çektik.

Tüm verileri çekip veritabanı bağlantısı yapalım.

PHP:
$dsn = "mysql:host=".$sunucuadi.";dbname=".$veritabaniadi.";charset=utf8mb4";//veritabanı adını girin
$user = $kullaniciadi;//kullanıcı adını girin
$passwd = $sifre;//şifreyi adını girin

$db = new PDO($dsn, $user, $passwd);

$db-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_WARNING);

Yukarıda dikkat edilmesi gereken konu çektiğim verileri tırnak sonrasında nokta sonrasında değişken ardından tekrar nokta tekrar tırnak ile yazmam. bunu daha sonrasında da kullanacağız.

Şimdi eğer veritabanı bağlantısı yapıldıysa 2. formumuzu görüntülüyoruz ve bunun actionunu 2.php ye yönlendiriyoruz.

Ardından girilen tüm verileri gizli bir input ile 2.php ye gönderiyoruz. input tipi gizli olmayanları ise kullanıcı tekrar dolduruyor.

Doldurdukları alan ise php admin girişimizin bilgileri.


PHP:
if($db){
    ?>
    <br><center><h1>Veritabanı Bağlantısı Başarılı</h1><br>


<form action="2.php" method="POST">

<input type="hidden" name="sunucuadi" value="<?php echo $sunucuadi;?>"><br>
<input type="hidden" name="kadi" value="<?php echo $kullaniciadi;?>"><br>
<input type="hidden" name="sifre" value="<?php echo $sifre;?>"><br>
<input type="hidden" name="veritabani" value="<?php echo $veritabaniadi;?>"><br>
<h2>Admin paneli için istediğiniz kullanıcı adını yazınız.</h2><br><input type="text" name="adminkadi"><br>
<h2>Şifrenizi Yazınız</h2><input type="password" name="adminsifre"><br>
<br>
<button type="submit"><h3>Gönder</h3></button>

</form>
</center>
   
<?php  
}else{
    echo 'Veritabanı bağlantısı yapılamadı lütfen bilgilerinizi kontrol ediniz.';
}
ob_end_flush();
?>

Ardından 2.php'ye geçelim.
Tüm verilerimizi çağırdıktan sonra


PHP:
    $sunucuadi=$_POST["sunucuadi"];
    $kullaniciadi=$_POST["kadi"];
    $sifre=$_POST["sifre"];
    $veritabaniadi=$_POST["veritabani"];
    $adminkadi=$_POST["adminkadi"];
    $adminsifre=$_POST["adminsifre"];
   

$dsn = "mysql:host=".$sunucuadi.";dbname=".$veritabaniadi.";charset=utf8mb4";//veritabanı adını girin
$user = $kullaniciadi;//kullanıcı adını girin
$passwd = $sifre;//şifreyi adını girin

$db = new PDO($dsn, $user, $passwd);

$db-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_WARNING);

$sorgu = $db->query("CREATE TABLE `girisim` (
  `id` int(11) NOT NULL,
  `username` text COLLATE utf8_turkish_ci NOT NULL,
  `password` text COLLATE utf8_turkish_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;

--
-- Tablo döküm verisi `girisim`
--

INSERT INTO `girisim` (`id`, `username`, `password`) VALUES
(1, '".$adminkadi."', '".$adminsifre."');");

veritabanımıza bağlanıp create table fonksiyonuyla tablolarımızı oluşturuyoruz. Ve ardından en aşağıdaki insert into methoduyla girisim isimli tablomuza kullanıcının sonradan girdiği admin panel değerlerini giriyoruz. Buradada tırnak nokta kullanımını unutmayalım.

Ve ardından veritabanı bağlantı dosyamızı istediğimiz klasöre oluşturmak kaldı.


PHP:
$yaz1='<?php

$dsn = "mysql:host='.$sunucuadi.';dbname='.$veritabaniadi.';charset=utf8mb4";//veritabanı adını girin
$user = "'.$kullaniciadi.'";//kullanıcı adını girin
$passwd = "'.$sifre.'";//şifreyi adını girin

$db = new PDO($dsn, $user, $passwd);

$db-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_WARNING);

?>';
$dosya = fopen ("metin.txt" , 'w'); //dosya oluşturma işlemi
$yaz=$yaz1;

fwrite ( $dosya , $yaz ) ;
fclose ($dosya);

$sonuc = rename('metin.txt','../inc/vt.php');

$dosyadan öncesinde vt.php dosyamızda neler yazacağını ayarladık ve bunu metin.txt olarak kaydettik.

Sonrasında ise metin.txt'yi istediğimiz klasöre vt.php adıyla kaydediyoruz. Ben sitemde inc dosyasının içinden vt.php olarak çektiğim için $sonuc un içine onu yazdım.

İstediğiniz gibi düzenleyip kullanabilirsiniz.


ctf0sk9.png


rtu29hy.png


Elinize emeğinize sağlık hocam gözden kaçmış sanırım yorum yok güzel konu 🙂
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.