⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel

Webailesi Portal Sistemi

Yazar: NightmaRe
25-01-2020, 22:11
Kurumsal Firmada Çalışmanın Avantajları

Sigortanız Ödenir; Sigorta meselesi her ne kadar yasal olarak zorunlu bir unsur olsa da iş dünyasında bir sıkıntı olarak karşınıza çıkabilir. Fakat kurumsal firmalarda bu sıkıntıyı yaşamazsınız ve sigortanızın ödendiğinden emin olabilirsiniz. Hatta beyaz yakalı olarak çalışmanız durumunda bazı kurumsal firmalarda özel sağlık sigortanız dahi olabilir.
Servisiniz Vardır; Çok çalışanı olan büyük kurumsal firmalarda çalışanların otobüs bekleme ve otobüs çilesi çekme gibi dertleri yoktur. Servis gelir, ücret ödemeden ve oturarak işe gider gelirsiniz.
Yemekler Ücretsizdir; Kurumsal firmaların bir yemekhanesi vardır. Bu sayede ücretsiz olarak yemek yer, “acaba ne yemek yesem, yemek kaç para tutacak” gibi dertleriniz olmaz.
Çalışma Saatleri Standarttır; Çalışma saatleri büyük oranda bellidir. Özellikle kartlı sistem olan firmalarda yasal zorunluluk nedeniyle istenilse dahi sizi belli bir limitin üzerinde çalıştıramazlar. Elbette çoğu kurumsal firma bu çalışma saatleri standardına uymayabilir.
Yıllık İzin Garantidir; Yıllık izinleriniz yalan olmaz. Yıllık izin hakkınızı ya paşa paşa size verirler ya da işten çıkarken ücret olarak size öderler.
İşten Çıkarılma Riski Azdır; Çok fazla çalışanı olan firmalarda işten çıkarılma riski daha azdır. Çünkü çalışan sayısı fazla olduğu için, işe yaramaz bir eleman olsanız dahi çok daha az göze batarsınız.
Yükselme İmkanınız Vardır; İyi bir performans sergilemeniz ve firmanın belirlediği eğitim kriterlerine uymanız durumunda daha iyi maaşlar alabileceğiniz bir mevkiye yükselme imkanınız vardır.
Batma Riski Azdır; Kurumsal firmalar, yapısını oturtmuş, belli bir düzende oldukları için gün gelip de “arkadaşlar, şirket iflas etti, herkes kendisine yeni bir iş arasın” gibi bir laf duymak zordur fakat elbette böyle bir ihtimal her daim vardır.
Sadece Kendi İşinizi Yaparsınız; İşe ne olarak girdiyseniz sizden sadece o iş beklenir. Yazılımcı olarak işe girdiyseniz sizden tasarım yapmanız beklenmez çünkü tasarımcı vardır. Ha “ben şirkette tasarıma da el atayım. Çalışkan görüneyim, hem yerimi sağlamlaştırayım hemde yükselme ihtimalimi arttırayım” diyebilirsiniz. Fakat bu çoğu zaman ekstra iş yükü sahibi olmanızdan başka bir işe yaramaz.

Öz Geçmişiniz Parlak Olur; Bir kere kurumsal, isim sahibi bir firmaya kapak atıp, orada tecrübe sahibi olursanız, oradan ayrıldıktan sonra iş bulmanız daha kolay olur. Öz geçmişinizde o firmanın adının yer alması, başvurduğunuz işlere girmeniz için ciddi avantaj sağlar.
Yazar: T1xLnN
25-01-2020, 22:10
Forum: PHP
open() ile Bir Dosya Açmak
Bu fonksiyon bir dosyanın içeriğine erişmek, dosya üzerinde işlem yapmak, veri eklemek için kullanılır.

Kullanım Şekli: fopen( dosya, özellik );

Kod:
<?php
   $file = fopen( "Okubeni.txt", "r" );
?>


 

Özellik olarak nitelendirdiğimiz 2. parametre dosyanın okuma biçimidir.

r -> sadece okumak için
w -> sadece yazmak için
a -> dosya üzerine eklemek için

fopen() aynı zamanda mantıksal (bool) değer döndürür, bu değer DOĞRU (true) ise dosya açılması başarılı, YANLIŞ (false) ise dosya açılmasında hata ile karşılaşılmıştır.

Kod:
<?php
   $file = fopen( "Okubeni.txt", "r" )
           or exit("Dosyaya erişilemiyor!");
?>


 

fclose() ile Açılmış Bir Dosyayı Kapatmak

Kod:
<?php
   $file = fopen("test.txt","r"); // açarız

   // buraya kodlar gelecek

   fclose( $file ); // kapatırız
?>



 

feof( dosya ) ile Dosyanın Bittiği Kontrolü
Açtığımız bir dosyanın son satırında olup olmadığımızı bu değer ile öğrenebiliriz.

Kod:
<?php
   if ( feof( $dosya ) )
      echo "Metin bitmiştir";
?>



 

Bir Dosyayı Satır Satır Okumak - fgets()
fgets() Fonksiyonu açtığımız dosyadan veri almamızda bize yardım eder. Bu veri tek satırlık bir veridir.

Kod:
<?php
   $dosya = fopen( "Isimler.txt", "r" ) // Aç
            or exit( "Dosya bulumamadı." );

   while( !feof( $dosya ) ) // Dosya bitene kadar oku
      echo fgets( $dosya ) . "<br />";

   fclose( $dosya ); // Kapat
?>

Yazar: NightmaRe
25-01-2020, 22:09
Virtual Private Server – VPS Nedir?

Virtual Private Server teriminin baş harflerinden oluşan VPS, Türkçe’ye Paylaşımlı Özel Sunucu olarak çevrilebilir. VPS, bir sanal sunucudur. Geleneksel sunucular tek bir kişi tarafından kullanabiliyorken sanal sunucular birden fazla kişi tarafından kullanılabilir. VPS, aynı donanım üzerinde kullanıcıların birbirinden bağımsız şekilde çalışmasını sağlar. Fakat bu sistemde kullanıcılar tüm noktalarda bağımsız değildir, kullanıcılar diğer kullanıcılarla birlikte işlemci ve ram gibi ortak donanımları kullanmak durumundadır.VPS sayesinde sahip olduğunuz sanal sunucunun üzerinde önemli seviyede yetkiniz olur. Örneğin; sunucunuzda web sitelerinizi barındırabilirsiniz.

5e2c92579cf95_vps-nedir

2.Virtual Dedicated Server – VDS Nedir?

Virtual Hosting’in bir diğer başlığı olan VDS, Virtual Dedicated Server teriminin baş harflerinden oluşmaktadır. VDS’in her ne kadar Türkçe’de net bir karşılığı olmasa da Paylaşımlı Ayrılmış Özel Sunucu olarak tanımlanabilir.Son dönemin en popüler bulut sunucu hizmetlerinden biri olan VDS; kullanıcılarına kendi web uygulamalarını geliştirmeleri, dağıtmaları ve barındırmaları için kullanabilecekleri bir sanal sunucuyu kiralama imkânı verir.Yani VDS hosting’i tercih eden bir kullanıcı belirli bir alanı kiraladığı zaman, o alan o kullanıcının dışında herkes için kullanıma kapalıdır ve kullanıcı kendi isteklerine göre alanını dilediği gibi kullanabilir.VDS’in altyapısı da teknik olarak diğer sanal sunucu hizmetlerine ve VPS’ benzer. VDS de tıpkı VPS gibi bir ana fiziksel makine üzerinde bulunur ve sanallaştırılarak bir sunucuya dönüşür. Daha sonra bu yeni sunucuya özel olarak RAM ve işlemci gibi atamalar yapılır. Örneğin; bir kullanıcı kendine ayrılan RAM miktarının tamamını kullanmıyor olsa bile RAM’i yine kendisine özel şekilde kalır ve kullanıma hazır bir şekilde bekler. Böylelikle RAM kısıtlamalarıyla ilgili problemler ortadan kalkmış olur.VPS paketlerinde aynı donanımı kullanan herkes aynı işletim sistemini kullanırken VDS’te durum biraz daha gelişmiştir ve her kullanıcının kendine ait işletim sistemi vardır. Yani VDS serverlarının üzerinde VPS’ten farklı olarak birbirinden bağımsız şekilde çalışan işletim sistemleri ya da sunucu yazılımları bulunabilir. Böylelikle sanal kısıtlamalar yazılımsal olarak ortadan kaldırılabilir.

5e2c92574919b_hqdefault

VDS Hosting vs. VPS Hosting / Hangisi Daha İyi?

Yukarıda VDS’in ve VPS’in neler olduklarından bahsettik. Şimdi bu 2 başlığın hangisini kullanmanız gerektiği üzerinde duracağız. ‘VPS mi VDS mi?’ Ya da ‘VPS Hosting mi yoksa VDS Hosting mi sizin için daha uygun?‘VPS kullanan bir kişi, sunucu üzerinde işletim sistemi kuramaz ve doğal olarak üst düzey erişim imkanlarına sahip değildir. VDS’te ise kullanıcıların sunucu üzerinde mutlak hakimiyeti vardır ve istedikleri işletim sistemini kurarak istedikleri değişiklikleri yapabilirler. VDS’in sunucuları ana makinedeki diğer sunuculardan farklıdır. Böylelikle kaynaklar sadece kullanıcıların isteklerine göre kullanılır. VPS’te ise kaynaklar diğer kullanıcılarla ortak şekilde kullanılır.Piyasadaki VPS ürünleri genellikle OpenVZ sanallaştırma katmanı tabanlı Virtuozzo ve benzeri ürünlerdir. Bu teknolojilerde hipervizör yoktur ve sanallaştırma işlemleri mevcut işletim sisteminin çekirdeği seviyesinde yapılabilir. Sanal ortamlar, üzerinde çalıştıkları işletim sisteminin bir klonu niteliğinde oldukları için kaynakları üzerinde bulundukları sunucunun kaynaklarıyla sınırlıdır. Bu sebeple bir VPS’in CPU ya da bellek gibi kaynakları garanti edilemez. Ayrıca VPS teknolojisinde izolasyon, yük dengeleme ve yüksek erişilebilirlik sağlamak mümkün değildir.VDS ise VMWare gibi bir donanımın seviyesinde sanallaştırma yapar. Bu sanallaştırma, donanım seviyesinde olduğu için gerçek sunucudan hiç farkı yoktur. VDS, hipervizörleri sayesinde CPU ve RAM gibi kaynakları garanti eder. Ayrıca VDS mimarisi ile izolasyon, yük dengeleme ve yüksek erişilebilirlik garanti edilir.

Shared(Paylaşımlı) Hosting’ten VDS Hosting’e Geçmeli Miyim?
Eskiden maliyetleri düşürmek için birçok kişi paylaşımlı web hosting planını kullanmayı tercih ederdi. Fakat teknoloji gelişmeye devam ediyor ve artık çok daha iyi bir seçenek mevcut: VDS Hosting.
VDS hem üst düzey performans sunuyor hem de web siteniz için bu performansın devamlılığını garanti ediyor. Eğer Paylaşımlı Hosting’i tercih ederseniz fiziksel sunucunuzu ve yazılım uygulamalarınızı diğer web siteleriyle birlikte kullanmak zorunda kalırsınız. Paylaşımlı hosting her ne kadar teknik olarak ekstra bilgi gerektirmiyor olsa da düşük maliyetli oluşu birçok kişiyi cezbediyor. Fakat paylaştığınız sunucuda sizin gibi birçok web sitesinin daha var olduğunu unutmamalısınız, diğer web sitelerinin trafiklerinde meydana gelebilecek ani bir artış sizin performansınızı olumsuz etkileyebilir.
VPS de Paylaşımlı Hosting’ten çok farklı değildir. Sadece VPS’i tercih ettiğiniz zaman sunucunuzu daha az kişiyle paylaşmış olursunuz.VDS’te ise yukarıda da değindiğimiz gibi size ayrılmış özel bir sunucu olur. Böylelikle yöneticiler ve üst kimlikler için erişim kolaylığı oluşur ve ayrıca güvenlik, performans gibi konularda da üst düzey hizmet alınır. Fiyat konusunda diğer seçeneklere göre biraz daha maliyetli olan VDS, web sitenizin büyümesini ve kurumsal bir marka olmayı istiyorsanız sizin için en ideal seçenektir.

Sonuç
Haberimizde son günlerin popüler sunucu türleri olan VDS Hosting’i (Virtual Dedicated Server) ve VPS Hosting’i (Virtual Private Server) anlattık. Bu 2 seçeneği birbiriyle kıyasladık ve biz VDS Bulut Sunucu’nun kazanmak konusunda daha ağır bastığını düşünüyoruz. Peki ya siz hangisini tercih edeceksiniz?
Yazar: NightmaRe
25-01-2020, 22:06
DDoS nedir?
DDoS yani Distributed Denial of Service (Dağıtık Hizmet Engelleme) saldırıları, tamamen Bilgi Güvenliği unsurlarından Erişilebilirliği hedef almaktadır. Öncesinde sadece DoS (Denial of Service), yani tek bir kaynaktan hedefe doğru saldırı yapılması şeklinde ortaya çıkan bu saldırı türü, zamanla şiddetinin arttırılması için çok sayıda kaynaktan tek hedefe yapılan saldırı şekline dönüşmüştür.Siber Güvenlik Derneği’nin resmi web sitesindeki açıklamalara göre DoS saldırıları, sistemlerin erişilebilirliğini engellemeye yönelik bir saldırı türüdür. Her sistem kurulurken; kullanıcı sayıları, hat kapasitesi, anlık istek sayısı gibi unsurlar için belli değerler öngörülür ve bu değerlerin biraz daha üstünde yükü kaldırabilecek şekilde tasarım yapılır.

hack-1
DoS/DDoS saldırılarında ise, sistemin kaldırabileceği yükün çok üzerinde anlık istek, anlık kullanıcı sayısı ile sistem yorulur ve cevap veremez hale getirilir. Bunun yanında, doğrudan sistemin kendisini yormak şeklinde değil, hattı doldurarak yine sistemin erişilebilirliği hedef alınabilir.

DDoS Saldırıları Nasıl Gerçekleşir?
DoS saldırıları, her zaman kapasite üstü istekle gerçekleştirilmeyebilir. Hedef sistemlerde bulunan zafiyetler de sistemin erişilebilirliği açısından risk oluşturabilmektedir.İşletim sistemlerinde (Windows, Linux vs), web sunucu uygulamasında (IIS, Apache vs), arka taraftaki uygulama sunucusunda ya da sistemin diğer bileşenlerinde bulunan zafiyetlerden yararlanarak, sistemin işleyemeyeceği şekilde bir istek gönderildiğinde, sistemin herhangi bir bileşeninde bu isteğin işlenememesi durumunda sistem erişilemez hale gelebilmektedir.
anonymous-1
DoS saldırıları, günümüzde çok kolay bir şekilde yapılabilir hale gelmiştir. Bunu gerçekleştirmek için üst düzey teknik yetkinliğe ihtiyaç kalmamıştır.İnternetten indirilebilecek basit programlar kullanılarak bir sistem hedef alınabilir ve sadece IP adresi ya da alan adı girilerek hedef sistemin erişilemez olması sağlanabilmektedir.Bu nedenle, DoS saldırıları kurumlar için öncelikli tehdit unsuru haline gelmiştir. Bu saldırıya maruz kalan ve hizmet veremeyen kurumlar ciddi anlamda maddi zarara ve itibar kaybına uğrayabilmektedirler. Bu saldırılar, uluslar arası siber savaşlarda da etkin olarak kullanılmaktadır.
Yazar: T1xLnN
25-01-2020, 22:05
Forum: PHP
Çerezler, bir kullanıcıyı tanımak amacıyla sunucu tarafından oluşturulan bilgilerdir, bu bilgiler direkt olarak kullanıcının bilgisayarında saklanır, belli bir süre geçerlidir ve tarayıcıyla (browser) ilişkilendirilen bir yapıdır.

Kullanım Şekli: setcookie( isim, değer, geçerlilik_süresi );

Kod:
<?php
   setcookie( "user", "Murat", time() + 3600 );
   // 1 saat geçerli
?>



 

NOT: 3600, saniye cinsinden süredir. 60 x 60 = 3600 den 1 saat bulunur.
Bir Çerez Değerini Elde Etmek
Sadece tanımlı bir tanesini elde etmek için:

Kod:
<?php
   echo $_COOKIE['user']; // user adlı çerez
?>



 

Tamamını listeletmek için print_r() fonksiyonu ile:

Kod:
<?php
   print_r( $_COOKIE ); // Kullanıcıya ait tüm veriler
?>



 

NOT: print_r( dize ) fonksiyonu bir dize içerisindeki tüm değerleri ekrana yazdırır. Tüm dize (array) tipi değişkenlerde kullanılabilir.

Bir Çerez Değerini Silmek
Geçerlilik süresini değiştirerek sileriz:

Kod:
<?php
   setcookie( "user", "Murat", time() - 3600 );
   // 1 saatten fazla geçmiş olacaktır.
?>

Yazar: T1xLnN
25-01-2020, 22:01
Forum: PHP
Kod:
   $curl = curl_init();

    curl_setopt_array($curl, array(
    CURLOPT_URL => "https://www.gametracker.com/server_info/93.123.18.5:27017/top_players/",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Cache-Control: no-cache",
        "Host: www.gametracker.com",
        "accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
        "accept-language: en-US,en;q=0.5",
        "upgrade-insecure-requests: 1",
        "user-agent: Mozilla/5.0"
    ),
    ));

    $response = curl_exec($curl);
    $err = curl_error($curl);

    curl_close($curl);

    if ($err) {
    echo "cURL Error #:" . $err;
    } else {
    //echo $response;
    } 

-Curl ile url'den sayfa verisi çekilir.

Kod:
$str = preg_replace ( 
        '/[\n\s]/' , 
        '' , 
        $response); 

-Sayfa verisindeki boşluk ve yeni satırlar silinir. $response stringi içerisindeki regexte belirtilen boşluk veya yeni satırları siler(değiştirir).

Kod:
$re = '/<td>[^"]*"\/player\/(.*?)\/[^<]*<\/a><\/td><td>&nbsp;<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/m'; 
-Gametrackerdan alınan veri için regex patterni hazırlanır.

Kod:
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); 
-Patterne göre istenen veriler $matches arrayi içerisinde toplanır.

Kod:
echo 'Name Score Time Score/Min <br>';
    for($i=0;$i<10;$i++) {
        for($w=1;$w<5;$w++) {
            echo urldecode($matches[$i][$w]). ' ';
        }
        echo '<br>';
    } 

-Veriler yazdırılır.

BÜTÜN KOD:
Kod:
<?php
    $curl = curl_init();

    curl_setopt_array($curl, array(
    CURLOPT_URL => "https://www.gametracker.com/server_info/93.123.18.5:27017/top_players/",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Cache-Control: no-cache",
        "Host: www.gametracker.com",
        "accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
        "accept-language: en-US,en;q=0.5",
        "upgrade-insecure-requests: 1",
        "user-agent: Mozilla/5.0"
    ),
    ));

    $response = curl_exec($curl);
    $err = curl_error($curl);

    curl_close($curl);

    if ($err) {
    echo "cURL Error #:" . $err;
    } else {
    //echo $response;
    }
    
    $str = preg_replace ( 
        '/[\n\s]/' , 
        '' , 
        $response);

    $re = '/<td>[^"]*"\/player\/(.*?)\/[^<]*<\/a><\/td><td>&nbsp;<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/m';

    preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);

    echo 'Name Score Time Score/Min <br>';
    for($i=0;$i<10;$i++) {
        for($w=1;$w<5;$w++) {
            echo urldecode($matches[$i][$w]). ' ';
        }
        echo '<br>';
    }
?>

Yazar: T1xLnN
25-01-2020, 22:01
Forum: PHP
Ek D. PHP ile Kabuk Betikleri Yazmak

Web konusu ile pek ilgili olmasa da bu konuyu belgeye dahil etmeyi uygun gördüm. Bir zamanlar kabuk betikleri konusu ile bayağı ilgilenmeyi istemiştim ama bir türlü tam olarak kendimi veremedim. Daha sonra PHP ile de kabuk betikleri yazılabildiğini öğrendiğim zaman çok sevinmiştim. Benim gibi bu konuya ilgi duyan bir okuyucum varsa belgenin bu kısmının faydalı bir kaynak olacağını tahmin ediyorum.

Kabuk betikleri deyimi Unix veya türevi bir işletim sistemi kullanmamış okuyuculara biraz yabancı gelecektir. Kabuk betiklerinin yazım kuralları ve örneklerine geçmeden önce konuya yabancı olan okuyucular için kısa bir açıklama yapayım.

Unix altında kullanılan kabuk betikleri çoğunlukla sh, bash ya da csh denen kabuk programları üzerinde çalışır. Her kabuğun kendine özgü bir programlama dili vardır. PHP ile kabuk betiklerinin yazarken normal PHP komutlarından başka bir şey kullanmıyoruz. İşin güzel kısmı da bu gellen

Bir kabuk betiği MS-Dos’daki .bat dosyalarına benzetilebilir. Bu dosyalar kendi içerisinde yazılı olan komutları sıra ile işleten dosyalardır. Aşağıdaki betik bir iş yapmasa bile sıra ile komut işletimine güzel bir örnektir.

Bu komutları Unix ya da türevi bir sistemde bir metin dosyasına yazıp chmod +x betik_adı komutunu verdikten sonra ./betik_adı komutu ile çalıştırın.

Windows'da ise bir PHP kabuk betiğini c:\php\php.exe -q betik_adi gibi bir komut ile bir DOS penceresinden çalıştırabilirsiniz.

mkdir dizin
cd dizin
pwd > dosya_yolu
cd ..


İşte bir kabuk betiği yukarıdaki komutları sanki siz sırası ile girmişsiniz gibi işleten dosyadır.

Fakat PHP (sh, bash, csh ve perl) ile yazılan betiklerin içerisinde mantıksal ifadeler ve döngüler kullanmamız mümkündür. Kullandığınız bu döngüler sayesinde betiğinizin değişik durumlarda istediğiniz gibi dallanmasını sağlayabilirsiniz.

Aşağıdaki betik örneklerinden ilki çalıştırıldığı dizindeki dosyaların uzantısını değiştirmek için kullanılıyor. Kullanımı

$ cevir htm html


şeklindedir. Bu komut bulunduğumuz dizinde uzantısı htm olan dosyaların uzantılarını html olarak değiştirmektedir.

İkinci örneğimde ise betiğe komut satırından parametre olarak girilen kullanıcı adı ile ilgili bilgiler /etc/passwd dosyasından okunup ekrana basılmaktadır.

Kod:
#!/usr/bin/php -q
<?
# Bu dosyayi cevir adi ile kaydedin
###############################
#   PHP UNIX Dosya Uzantisi   #
#     Degistirme Betigi       #
#      Fehmi Noyan ISI        #
###############################
if($argc != 3) {
  echo "Parametre Hatasi!\n";
  echo "Kullanim:\n";
  echo "   cevir [degisecek_uzanti] [yeni_uzanti]\n";
}
  else
{
  $dizin_ac = opendir("./");
  $i=0;

  while($dosya = readdir($dizin_ac)) {

    if (is_file($dosya) and strrpos($dosya, ".")) {
      $dosya_adi = explode(".", $dosya);
      $argnum = count($dosya_adi) - 1;

      if ($dosya_adi[$argnum] == $argv[1]) {
        $dosya_adi[$argnum] = $argv[2];
        $dosya_adi = implode(".", $dosya_adi);

        if (rename($dosya, $dosya_adi)) $i++;
      }
    }
  }
  echo "cevir: $i dosyanin uzantisi $argv[2] olarak degistirildi.\n";
}
?>
#!/usr/bin/php -q
<?php
# Bu dosyayi user adi ile kaydedin
###############################
# PHP UNIX Kullanici Sorgusu  #
#      Fehmi Noyan ISI        #
###############################
if ($argc != 2) {
  echo "Parametre Hatasi!\n\n";
  echo "Kullanim:\n";
  echo "         user [kullanici adi]\n";

} else {

  $satirlar = file("/etc/passwd");
  foreach ($satirlar as $satir) {
    $pwd_user_array = (explode(":", $satir));
    if ($pwd_user_array[0] == $argv[1]) {
      $kullanici_adi = $pwd_user_array[0];
      $isim = $pwd_user_array[4];
      $kabuk = $pwd_user_array[6];
      $dizin = $pwd_user_array[5];
    }
  }

  if ($kullanici_adi != $argv[1]) {
    echo " user: $argv[1] kullanicisi sistemde kayitli degil!\n";

  } else {
    echo " USER - Linux Kullanici Sorgusu -\n";
    echo " VER1.0\n\n";
    echo "Kullanici adi: $kullanici_adi\n";
    echo "         isim: $isim\n";
    echo "        dizin: $dizin\n";
    echo "        kabuk: $kabuk\n";
  }
}
?>

Bu örneklerde normal PHP betiklerimizin dışında kullandığımız iki tane değişken var. argc ve argv[] değişkenleri. argc değişkeni betiğe komut satırından girilen parametre sayısını veren tamsayı değişkeni ve argv[] değişkeni ise bu parametrelerin kendilerini tutan dizi değişkeni. (argv[0] betiğinin kendi adıdır).

Bir de iki dosyanında en başında kullandığımız #!/usr/bin/php -q ifadesi var. Bu ifade bu dosyada yazılı olan komutların sistemde kurulu olan PHP yorumlayıcısı tarafından yorumlanacağını anlatır.
Yazar: T1xLnN
25-01-2020, 22:00
Forum: PHP
Neye İhtiyacınız Var?

Eğer web siteniz zaten PHP destekliyorsa bu kısmı geçebilirsiniz. Bir sunucunun php desteğini anlamak için bir not defteri açın ve aşağıdakileri yazıp uzantısını php olarak kaydedin (örneğin index.php) ve sunucunuzda bu sayfayı açmayı deneyin:

Kod:
<?php
   phpinfo();
?>



 

Eğer tablolar içinde php özellikleri sıralanan bir sayfa açıldıysa PHP desteği vardır, eğer yoksa aşağıdaki adımları takip ederek olmasını sağlayabilirsiniz:

Yüklemeler
Apache yüklemek için buraya tıklayın.

MySQL yüklemek için buraya tıklayın.

PHP yüklemek için buraya tıklayın.

Evde bilgisayarınızda LOCALHOST (yerel sunucu) kurmak ve php yi çalışır hale getirmek için tüm kurulumları gerçekleştirin. Ayrıca XAMMP ve EasyPHP kurarak da kolaylıkla bahsedeceğimiz kodları çalıştırabilir ve denemeler yapabilirsiniz.

UYARI: Windows 7'de PHP çalıştırmak için ZIP kurulumu yapmalısınız. EXE sorun çıkarabiliyor.
Yazar: T1xLnN
25-01-2020, 21:59
Forum: PHP
Gerekli Kütüphanelerin Taşınması

Geliştirdiğimiz Linux sistemimizde kullanacak olduğumuz uygulamalara göre gerekli kütüphanelerin sisteme kurulması gereklidir. Bunun için çalışan bir Linux sistemden ilgili dosyalar, uygun yerlere kopyalanmalıdır. Dosyaları taşıyabilmek için bu aşamada tek çözüm disket kullanmak olacaktır.

Aşağıdaki temel paylaşımlı kütüphaneler hemen her sistem için gerekli olduğundan, bunları çalışan Linux sisteminizin /lib dizininden bir disket üzerine kopyalamalısınız:
  • libc.so.6


  • ld-linux.so.2


  • libdl.so.2


  • libnsl.so.1


  • libm.so.6


  • libcrypt.so.1
Daha sonra disketi SBC üzerine takıp mount /dev/fd0 /floppy komutu ile sisteme bağlayın. Disketin üzerindeki dosya sistemi FAT ise dosyalarda 8.3 karakter problemi yaşayabilirsiniz. Bu durumda dosyaları yeniden adlandırmakla uğraşmak istemiyorsanız mkfs.minix /dev/fd0 veya mkfs.ext2 /dev/fd0 komutuyla çalışan Linux sisteminizde disketi biçimlendirip dosya taşıma işlemini yeniden yapınız. Tüm bu adımları geçtiğinizi varsayarsak disket SBC'ye takılı ve bağlı durumda iken

Alıntı: Adlı Kullanıcıdan Alıntı:# cp /floppy/* /hedef/lib


komutuyla dosyaları olması gereken yere kopyalayın.

Normalde kütüphane dosyaları doğrudan çalıştırılmadığı için erişim kipinin sadece okumaya izin vermesi yeterlidir. Ancak libc.so.6 ve ve ld-linux.so.2 kütüphanelerine çalıştırılabilir dosya erişimi de vermeniz gereklidir:

Alıntı: Adlı Kullanıcıdan Alıntı:# chmod 755 /hedef/lib/libc.so.6
# chmod 755 /hedef/lib/ld-linux.so.2


Artık sistemimiz için gerekli olan temel kütüphaneler hazır.
Yazar: T1xLnN
25-01-2020, 21:58
Forum: PHP
FTP Sunucu Kurulumu

SBC üzerine kuracağınız FTP sunucu için dikkat etmeniz gereken bazı noktalar vardır. Bir kere amacımız sadece basit anlamda dosya aktarımını gerçekleştirebilmektir. Karmaşık özelliklere sahip çok büyük bir FTP sunucu değil, olabildiği kadar küçük, sağlam ve güvenilir bir uygulama bizim için yeterlidir. Bir diğer önemli özellik, FTP sunucunun PAM desteği olmadan doğrudan sistemdeki passwd ve shadow dosyaları ile çalışabilmesi gerekliliğidir. Aksi takdirde FTP sunucuyu çalıştırmak için SBC üzerindeki sistemimize PAM desteği vermek zorunda kalabiliriz ki bu da "Türkler için ayda nasıl yürünür?" konulu bir eğitim kadar gereksizdir.

Yukarıda bahsettiğim koşullar ve yıllardan beri kendini kanıtlamış sağlam yapısı nedeniyle ben bsd-ftpd sunucusunu kullanmaya karar verdim. bsd-ftpd, OpenBSD FTP sunucusunun Linux işletim sistemine taşınmış halidir. Programı http://www.eleves.ens.fr:8080/home/madore/programs/ adresinden indirebilirsiniz. Arşivi indirip açtıktan sonra içerisinden çıkan Makefile dosyasını bir metin düzenleyicide açarak dosyanın başındaki ilgili yerleri aşağıdaki hale getiriniz:


Kod:
#CFLAGS = $(OPT_CFLAGS) $(EXTRA_CFLAGS) -DTCPWRAPPERS -DUSE_PAM ¬
-DAUTO_UNCOMPRESS -DINTERNAL_LS
#LIBS = $(EXTRA_LIBS) -lutil -lwrap -lnsl -lcrypt -lpam -ldl
## If you prefer shadow password support, try this:
CFLAGS = $(OPT_CFLAGS) $(EXTRA_CFLAGS) -DTCPWRAPPERS -DUSE_SHADOW ¬
-DAUTO_UNCOMPRESS -DINTERNAL_LS
LIBS = $(EXTRA_LIBS) -lutil -lwrap -lnsl -lcrypt 


Bu sayede programın PAM ile çalışmak üzere değil, sistemdeki kullanıcı veritabanıyla çalışabilecek şekilde derlenmesini sağladık.

Makefile üzerinde gerekli değişiklikleri yaptıktan sonra make komutu ile programı derleyebiliriz. Derleme işlemi bittiğinde yaklaşık 80 kB büyüklüğünde ftpd uygulaması oluşacaktır. strip ftpd komutu ile uygulama içerisinden ihtiyaç duymayacağımız sembollerin çıkartılmasını da sağlayınca uygulamanın boyu 65 kB seviyelerine inecektir. Bu uygulamayı SBC sistemimizdeki /usr/sbin dizini altına in.ftpd adıyla taşımalıyız.

Not
bsd-ftpd uygulamasını derlemek için GNU Libc kütüphanelerin yanısıra libwrap0-dev paketinden çıkan geliştirme kütüphanelerine de ihtiyaç vardır (tcpd.h vb. için).


Derlediğimiz uygulamayı SBC üzerine atıp arka planda inetd'nin de çalıştığından emin olunca Linux yüklü sistemimizden SBC üzerindeki FTP sunucumuzu test edebiliriz:

Kod:
laptop:~$ ftp 192.168.0.155
Connected to 192.168.0.155.
220 embed FTP server (Version 6.5/OpenBSD, linux port 0.3.3) ready.
Name (192.168.0.155:demirten): root
331 Password required for root.
Password:
230 User root logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls /boot
200 PORT command successful.
150 Opening ASCII mode data connection for '/bin/ls'.
total 764
-rw-r--r--  1 root  root    7964 Jun  1 10:49 boot-menu.b
-rw-r--r--  1 root  root     512 Jun  1 14:34 boot.0300
-rw-r--r--  1 root  root    7964 Jun  1 10:50 boot.b
-rw-r--r--  1 root  root     728 Jun  1 10:50 chain.b
-rw-r--r--  1 root  root  744821 Jun  1 12:05 kernel
-rw-------  1 root  root   12288 Jun  1 14:34 map
226 Transfer complete.
ftp> bye
221 Goodbye.
laptop:~$ 


Bu ekran çıktısı artık disket sürücüyü sistemden çıkarabileceğimizin müjdesini veriyor bize gulucuk_wd

Hoşgeldin, Ziyaretçi

Sitemizden yararlanabilmek için Kayıt olmalısınız.

Forumda Ara

Forum İstatistikleri

Toplam Üyeler: 44.942
Son Üye: c0dd
Toplam Konular: 34.812
Toplam Yorumlar: 456.337

Son Aktiviteler

Türkiye'de ilk: CS 1.6'yı...

Son Yorum: Ygtkms • 4 dakika önce
Yorumlar: 0 • Okunma: 8

Cs 1.6 - Giriş / Çıkış Bi...

Son Yorum: sleeper038 • 11 dakika önce
Yorumlar: 18 • Okunma: 2.393

PodBot V3 [Akıllı Botlar/...

Son Yorum: sleeper038 • 14 dakika önce
Yorumlar: 951 • Okunma: 111.359

[PRO] C4 Etrafında Halka ...

Son Yorum: sleeper038 • 18 dakika önce
Yorumlar: 50 • Okunma: 8.998

PHP + MySQL | Rank Sistem...

Son Yorum: sleeper038 • 22 dakika önce
Yorumlar: 27 • Okunma: 1.622

C4 Düştü Bildir

Son Yorum: sleeper038 • 25 dakika önce
Yorumlar: 38 • Okunma: 5.422

[REAPI] - Giriş Yaptı

Son Yorum: sleeper038 • 28 dakika önce
Yorumlar: 402 • Okunma: 72.611

Felicia Gaming Jailbreak ...

Son Yorum: xerk.c4n • 28 dakika önce
Yorumlar: 66 • Okunma: 14.428

[TS3] - Türkçe Dil Paketi

Son Yorum: c0dd • 40 dakika önce
Yorumlar: 145 • Okunma: 32.364

[TS3] - Türkçe Ses Paketi...

Son Yorum: c0dd • 40 dakika önce
Yorumlar: 156 • Okunma: 32.212