Şimdi Ara

Pythonda kodları gizleme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
1
Favori
2.219
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Pythonda kodları gizleyebilme gibi şansımız var mı? Daha önceden exe ye çevirip yapabiliyordum bunu fakat python sadece exe değil yanında onlarca dosya daha oluşturuyordu. Benim istediğim tek şey sadece exe olaraktı. Kodları gizlememin nedeni ise programımda serverimin bilgileri olması. Yani mysql'e vs bağlanacak. Yaptığım proje ise chat sistemi, tabi şuanda sadece login kısmını yapabildim.

    Bu arada chat sistemi için hangi kütüphaneyi kullanmamı önerirsiniz? Yardımcı olursanız sevinirim.

    Kod:https://paste.ee/p/V9Izy/

    < Bu ileti mobil sürüm kullanılarak atıldı >







  • Server bilgilerini programın içinde tutmak büyük bir no. Onun yerine API yazın, server tarafında çalıştırın. Kullanıcı adı ve şifreyle giriş yapıp yapılacak işleri server'a söylersiniz o API üzerinden. REST API python diye aratılınca sonuç çıkar.

    Chat sistemi için django, flask veya bottle kullanılabilir. Flask diğer ikisiniden daha basic.
  • quote:

    Orijinalden alıntı: Fulctrum

    Server bilgilerini programın içinde tutmak büyük bir no. Onun yerine API yazın, server tarafında çalıştırın. Kullanıcı adı ve şifreyle giriş yapıp yapılacak işleri server'a söylersiniz o API üzerinden. REST API python diye aratılınca sonuç çıkar.

    Chat sistemi için django, flask veya bottle kullanılabilir. Flask diğer ikisiniden daha basic.

    Daha onceden hic python web framework kullanmadigim icin biraz karisik olacak. Rest api de anladigim kadariyla herseyi websitemize json olarak atip ordan verilerimizi cekiyoruz? Diyelim ornekwebsite.com/kullanicilar/kullanici1 de 1 tane kullanicinin giris bilgileri var, buraya biris adresi bulup girse tum bilgileri gorecek. Bunu nasil engelleyebiliriz?
  • flcn4 kullanıcısına yanıt
    Aynen öyle. URL'in o formatta olmasına gerek yok, genelde hep öyle gösteriyorlar ama index sayfasına emirleri içeren JSON dosyaları da yollanabilir tercihe kalmış o.

    ornekwebsite.com/kullanicilar/kullanici1 kendisi bir sayfa olmayacak. Kullanıcı oraya kullanıcı adını ve şifresini yolluyor, geriye de "evet bu adam kayıtlı" veya "hayır değil" diye cevap dönüyor. Kalan tüm opsiyonlarda ise "bad request" dönüyor. Client'lara bir giriş sistemi koyacaksınız. İster kullanıcı adı-şifre sistemiyle olur isterse de bir dosyanın içine anahtar koyarak olur. Giriş sırasında server anahtarın doğruluğunu teyit ederse ona bir oturum açacaksınız.

    Giden bilgi: kullanici_bilgileri = {"username": "fulctrum", "password": "123123"}
    Serverın içinde işlemler değerlendiriliyor...
    Sayfadan dönen bilgi: {"result": "onaylandı"} + olarak da session açılıyor.

    Yani biri o sayfaya girince hiçbir şey göremiyor aslında olay içeride olup bitiyor kullanıcının erişimi olmayan kısımda.

    Sonra da geri kalan kısımlarda @session_required ya da @login_required gibi bir decorator ile işi halledebiliyorsunuz diye biliyorum. Olmazsa da zaten giriş onaylandığında session["username"] = username deyip sonrasında o değişkene bakarsınız. Varsa giriş yapmıştır, yoksa yapmamıştır. Flask ve django oturum olayını kendileri halledebiliyorlar. Bu sefer de server artık o kullanıcının giriş yaptığını bildiğinden veriyi yollayabiliyor güvenli yoldan. Giriş yapılmamışsa veriyi yollamıyorsunuz.

    Bunu da şu yüzden söylüyorum, python'da bırakın %100'ü, %50 bile etkili bir kod kapama yöntemi yok. Exe'ye çevirince boyutu fazla oluyor, sorun çıkarıyor, özelliklerin tamamı kapsanmıyor, güvenli olmuyor (isteyen biri serverın şifresini alabilir kolayca). Riskli bir olay.




  • quote:

    Orijinalden alıntı: Fulctrum

    Aynen öyle. URL'in o formatta olmasına gerek yok, genelde hep öyle gösteriyorlar ama index sayfasına emirleri içeren JSON dosyaları da yollanabilir tercihe kalmış o.

    ornekwebsite.com/kullanicilar/kullanici1 kendisi bir sayfa olmayacak. Kullanıcı oraya kullanıcı adını ve şifresini yolluyor, geriye de "evet bu adam kayıtlı" veya "hayır değil" diye cevap dönüyor. Kalan tüm opsiyonlarda ise "bad request" dönüyor. Client'lara bir giriş sistemi koyacaksınız. İster kullanıcı adı-şifre sistemiyle olur isterse de bir dosyanın içine anahtar koyarak olur. Giriş sırasında server anahtarın doğruluğunu teyit ederse ona bir oturum açacaksınız.

    Giden bilgi: kullanici_bilgileri = {"username": "fulctrum", "password": "123123"}
    Serverın içinde işlemler değerlendiriliyor...
    Sayfadan dönen bilgi: {"result": "onaylandı"} + olarak da session açılıyor.

    Yani biri o sayfaya girince hiçbir şey göremiyor aslında olay içeride olup bitiyor kullanıcının erişimi olmayan kısımda.

    Sonra da geri kalan kısımlarda @session_required ya da @login_required gibi bir decorator ile işi halledebiliyorsunuz diye biliyorum. Olmazsa da zaten giriş onaylandığında session["username"] = username deyip sonrasında o değişkene bakarsınız. Varsa giriş yapmıştır, yoksa yapmamıştır. Flask ve django oturum olayını kendileri halledebiliyorlar. Bu sefer de server artık o kullanıcının giriş yaptığını bildiğinden veriyi yollayabiliyor güvenli yoldan. Giriş yapılmamışsa veriyi yollamıyorsunuz.

    Bunu da şu yüzden söylüyorum, python'da bırakın %100'ü, %50 bile etkili bir kod kapama yöntemi yok. Exe'ye çevirince boyutu fazla oluyor, sorun çıkarıyor, özelliklerin tamamı kapsanmıyor, güvenli olmuyor (isteyen biri serverın şifresini alabilir kolayca). Riskli bir olay.

    Çok teşekkür ederim, artık kafamda herşeyi tasarladım bugün hemen başlayayım yapmaya :)



    < Bu mesaj bu kişi tarafından değiştirildi flcn4 -- 27 Mart 2017; 7:41:40 >
    < Bu ileti mobil sürüm kullanılarak atıldı >




  • Selam. Kodları gizlemek gibi bir takıntınız olmamalı bence. Sadece parolaları orada tutmayın olur biter zaten. Ama, kodları gizlemek isterseniz:

    python source code obfuscators

    Şeklinde aratabilirsiniz.
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.