Jump to content

KintaRo

Emekli
  • Posts

    9382
  • Joined

  • Last visited

  • Days Won

    67

Posts posted by KintaRo

  1. string sorgu = GetPageSource("http://www.site.com/sayfa.php?textWord=" + textBox1.Text + "&user=kintaro&pass=123456);
    
    if (sorgu == "user pass hatalı")
    {
        MessageBox.Show("hatalı giriş");
    }
    else
    {
        string json = sorgu;
        jsonDecode... // ya da ne tür bir işleminiz varsa
    }
  2. C#

    GetPageSource("http://www.site.com/sayfa.php?textWord=" + textBox1.Text + "&user=kintaro&pass=123456);

    PHP

    $user = base64_decode($_GET["user"]);
    $pass = base64_decode($_GET["pass"]);
    
    $sorgu = mysql_query("SELECT * FROM users WHERE user='$user' AND pass='$pass'"); // gelen kullanıcı adı ve şifre ile bir kullanıcı mevcut mu diye bak
    
    if (mysql_num_rows($sorgu) > 0) // sorgu sonucunda dönen satır sayısı 0 dan büyükse
    {
        // çalışacak kodlar
    }
    else
    {
        echo "user pass hatalı";
    }

    user ve pass'ı ben burada direk gönderip/aldım. ama şifreler genelde veritabanında md5 ile tutulur, yine base64 de kullanabilirsiniz. aklınızda olsun.

  3. MainForm.Load() evresindeki kodları silip yerine şunu yazın:

            private void MainForm_Load(object sender, EventArgs e)
            {
                this.Text = "Resim Görüntüleyici 1.1.0";
                FileInfo dosyabilgisi = new FileInfo(veri);
    
                string selected = listBox1.GetItemText(dosyabilgisi.DirectoryName);
    
                this.flowLayoutPanelMain.Controls.Clear();
                m_Controller.AddFolder(selected);
                this.buttonCancel.Enabled = true;
                this.buttonBrowseFolder.Enabled = false;
                dal = "1";
            }
    

    böylece eğer proje.exe C:\resim.jpg şeklinde bir veri gönderilmemişse program hata vermeyecek, veri gönderilmişse o resmi ekleyecektir.

     

    screenshot_68.png

  4. evet güzel düşünmüşsün, buna SQL Injection deniyor, Şu şekilde koruma sağlayabilirsiniz:
    $temizlenmis_veri = mysql_real_escape_string($gelen_text);
    mysql_query($temizlenmis_veri);
    
    eğer bu yapılmazsa yeni sorgu olarak ya da giden sorguya ek yapılarak veritabanında istenilen işlem yapılabilir.
     
    ek güvenlik olarak ise benzersiz bir key kullanabilirsiniz. örn:
     
    C#
    GetPageSource("www.site.com/sayfa.php?txtVeri=1430qwdq34=&gizli_key=239048923049032fjwdeıjfn");
    PHP:
    if ($_GET['gizli_key'] == "239048923049032fjwdeıjfn")
    {
         // çalışacak veriler
    }
    else
    {
        echo "doğrulama başarısız";
    }
    hala güvensiz olduğunu düşünürseniz gizli_key'i de blowfish ile şifreleyebilirsiniz :)
  5. evet ezberden yazdım, denemedim gözden kaçmış :D

     

    update, insert gibi diğer komutlar için aynı yöntemi kullanabiliriz. bu sefer get ile aldığımız veri komple sql sorgusu olacak yani şu şekilde:

     

    C#:

    GetPageSource("http://172.16.0.6/rehber/rehber.php?txtKeyword=" + base64encode("UPDATE ayarlar SET firma_id='3'"));

    PHP:

    $strKeyword = base64_decode($_GET["txtKeyword"]);
    $sorgu = mysql_query($strKeyword);
    
    
    if ($sorgu == FALSE)
    {
        echo "sql sorgusunda hata";
    }
    else
    {
        echo "sorgu başarılı";
    }
  6. yeni bir php dosyası yaratıp aşağıdaki kodları yazın ve web sayfasından şu linki açıp o sayfayı çalıştırın bakalım ne sonuç verecek:

    http://172.16.0.6/rehber/yenisayfa.php?txtKeyword=TXVyYXQ=
    <?
            header('Content-Type: text/html; charset=utf-8');
            $objConnect = mysql_connect("localhost","user","pass");
            $objDB = mysql_select_db("deneme");    
            mysql_query("SET NAMES utf8");     
         
            $strKeyword = base64_decode($GET["txtKeyword"]);
            $strSQL = "SELECT * FROM Employee WHERE FirstName LIKE '".$strKeyword."' ORDER BY FirstName ASC ";     
         
            $objQuery = mysql_query($strSQL);
    
            echo "<table><tr><td>İsim</td><td>Soyisim</td></tr>";
            
            while($veri = mysql_fetch_array($strSQL))
            {
             $isim = $veri["FirstName"];
             $soyisim = $veri["Surname"];
             echo "<tr><td>$isim</td><td>$soyisim</td></tr>";
            }
    
            echo "</table>";
    ?>
  7. c# kısmı:
     
            
    public static string base64encode(string text)
            {
                var textByte = System.Text.Encoding.UTF8.GetBytes(text);
                return System.Convert.ToBase64String(textByte);
            }
    
    
            public static string GetPageSource(string url)
            {
                var webrequest = (HttpWebRequest)WebRequest.Create(url);
                webrequest.Method = "GET";
                var webResponse = (HttpWebResponse)webrequest.GetResponse();
                string responseHtml;
                using (var responseStream = new StreamReader(webResponse.GetResponseStream()))
                {
                    responseHtml = responseStream.ReadToEnd().Trim();
                }
                        
                return responseHtml;
            }
    string text = textBox1.Text;
    string enc_text = base64encode(text);
    string GELEN_JSON = GetPageSource("http://www.site.com/sayfa.php?txtKeyword=" + enc_text);

    php kısmı:

     

    <?
        header('Content-Type: text/html; charset=utf-8');
        $objConnect = mysql_connect("localhost","user","pass");
        $objDB = mysql_select_db("deneme");    
        mysql_query("SET NAMES utf8");
    
    
        $strKeyword = base64_decode($_GET["txtKeyword"]);
        $strSQL = "SELECT * FROM Employee WHERE FirstName LIKE '%".$strKeyword."%' ORDER BY FirstName ASC ";
    
    
        $objQuery = mysql_query($strSQL);
        $intNumField = mysql_num_fields($objQuery);
        $resultArray = array();
        while($obResult = mysql_fetch_array($objQuery))
        {
            $arrCol = array();
            for($i=0;$i<$intNumField;$i++)
            {
                $arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i];
            }
            array_push($resultArray,$arrCol);
        }
    
    
        mysql_close($objConnect);
        
        echo json_encode($resultArray);
    ?>
  8. Öncelikle command line parametresi şudur;

     

    - dos penceresinden bir uygulamaya parametre göndermek. örn: C:\dosya.exe /silent

    - bir dosyayı sürükle bırak yöntemiyle bir uygulamanın üzerine taşıyarak birlikte aç işlemi yapmak

     

    Bunun bir kaç farklı yolu var sanırım. En kolay yol şudur:

     

    Program.cs dosyasındaki

            static void Main()

    fonksiyonuna string[] yani dizi array tipinde parametre ekleriz.

            static void Main(string[] args)

    bu parametre ile dışarıdan gelen tüm parametreleri alabiliriz. ister bunu Program.cs içinde kullanabilir istersek başka formlara aktarabiliriz. 

     

    Ben ekteki örnekte Form1'e public static yapısında (diğer formlar ve class'lardan erişilebilen) bir string tanımladım ve Program.cs'ye gelen parametreyi bu public string'e aktardım. Daha sonra bunu Form1'de alarak ekrana yazdırdım.

    https://yadi.sk/d/qpE-yjEYkdpvN
  9. Bak sen şu Apple'a. Sanırım chipte ki iddia doğru. Benzerliğe bakın.

     

     

     

    Bakın en önemli detayı yazmayı unutmuşum; Mac OS denen işletim sistemi aslında FreeBSD'nin ta kendisidir... Ücretsiz, açık kaynak BSD çekirdeğine Aqua kullanıcı arayüzünü ekleyip satarak köşeyi dönmüştür Apple...

     

    Linux ve MacOS unix tabanlıdır, bu gizli bir şey değil ki? Öyle bir anlatmış ki sanırsın unix'i almış üzerine bir tema çakıp yayınlamışlar. Çok enteresansınız beyler.

  10. anladım o şekilde diyorsunuz. ok bugün size bir örnek yaparım fakat bu işinize yarayacak mı onu bilmiyorum. Öncelikle sizin asp, asp.NET destekli bir hosting bulmanız gerekiyor. Bence bunu bulduğunuz zaman haberleşelim, çünkü php ile yazacağımız kodlar işinize yaramayacak.

  11. bir projemde taksitlendirme için bir algoritma yazmıştım, onu alıp size göre düzenledim. text alanlarının boş olup olmadığının kontrolü gibi şeyler olmayabilir, ama sisitem çalışıyor. fikir verebilir.

     

    screenshot_42.png

    https://yadi.sk/d/Bp-HyDvMkTdz8
×
×
  • Create New...