• 02-06-2016, 11:41:18
    #10
    if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
       echo 'icerik';
       include 'db.php';
    }else{
           echo 'giris yasak';
    }
    Bu şekilde girişi engelleyebiliyorum ancak bu sefer uygulamada bağlanamıyor.
  • 02-06-2016, 12:07:11
    #11
    mersinstyle adlı üyeden alıntı: mesajı görüntüle
    if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
       echo 'icerik';
       include 'db.php';
    }else{
           echo 'giris yasak';
    }
    Bu şekilde girişi engelleyebiliyorum ancak bu sefer uygulamada bağlanamıyor.
    Uygulamanızın içine gizli bir anahtar kelime gömün, bunuda get ile gönderilmesini sağlayın. json.php içerisinde GET anahtarı geçersizse DİE döndürün. Sorun çözülür.
  • 02-06-2016, 12:20:59
    #12
    Big_Turk adlı üyeden alıntı: mesajı görüntüle
    Uygulamanızın içine gizli bir anahtar kelime gömün, bunuda get ile gönderilmesini sağlayın. json.php içerisinde GET anahtarı geçersizse DİE döndürün. Sorun çözülür.
    Dediğiniz olay çok mantıklı geldi bana ancak malesef bunu yazacak kod bilgim yok, Örnek bir kod yazabilirseniz uyarlayıp deneyeceğim. Örneğin uygulamanın paket adı olan com.uygulamaadi'nı kullanabilirim
  • 02-06-2016, 12:33:18
    #13
    json.php dosyanızın en başına ;

    if($_GET['anahtar']!='com.uygulamaadi'){
         die('izinsiz erişim!');
    }
    şeklinde kod ekleyin. Uygulamanız içerisinden json.phpye bağlanan kodlarada şu şekilde get parametresi ekleyin.

    www.siteadresiniz.com/json.php?anahtar=com.uygulamaadi

    Artık json.php dosyanıza sizin belirleyeceğiniz anahtar kelime harici gelen tüm istekler durdurulur.
  • 02-06-2016, 15:20:51
    #14
    Big_Turk adlı üyeden alıntı: mesajı görüntüle
    json.php dosyanızın en başına ;

    if($_GET['anahtar']!='com.uygulamaadi'){
         die('izinsiz erişim!');
    }
    şeklinde kod ekleyin. Uygulamanız içerisinden json.phpye bağlanan kodlarada şu şekilde get parametresi ekleyin.

    www.siteadresiniz.com/json.php?anahtar=com.uygulamaadi

    Artık json.php dosyanıza sizin belirleyeceğiniz anahtar kelime harici gelen tüm istekler durdurulur.
    Buda çözüm olmuyor çünkü biri uygulamayı indirip içindeki dosyalara baktığında json adresini ve anahtar kelimeyi görecek. Sonuç olarak json adresini zaten kimse bilmiyor sadece biri uygulamayı açarsa görebilecek 'ki uygulamayı açan şifreyide görmüş olacak.
  • 02-06-2016, 15:25:16
    #15
    mersinstyle adlı üyeden alıntı: mesajı görüntüle
    Buda çözüm olmuyor çünkü biri uygulamayı indirip içindeki dosyalara baktığında json adresini ve anahtar kelimeyi görecek. Sonuç olarak json adresini zaten kimse bilmiyor sadece biri uygulamayı açarsa görebilecek 'ki uygulamayı açan şifreyide görmüş olacak.
    Mantığı geliştirmek tamamen size bağlı durumda. Burada ki kimse size uygulama yapınızı bilmeden nokta atışı yardımda bulunamaz. Uygulamanızda cihaz kimliği ile ilgili bir anahtar üretebilirsiniz, 2 aşamalı kontrol yapabilirsiniz. Cihaz bağlanır bağlanmaz X.php dosyasına bağlanıp json.php dosyasının adresini bu X php dosyasından okuyarak cihaz belleğinde tutabilir. json.php dosyasının adını sürekli değişir ve x.php içerisinden güncelleyebilirsiniz vs vs buradaki sınır sizin düşünceniz ve geliştireceklerinizden ibaret...
  • 02-06-2016, 15:36:19
    #16
    Big_Turk adlı üyeden alıntı: mesajı görüntüle
    Mantığı geliştirmek tamamen size bağlı durumda. Burada ki kimse size uygulama yapınızı bilmeden nokta atışı yardımda bulunamaz. Uygulamanızda cihaz kimliği ile ilgili bir anahtar üretebilirsiniz, 2 aşamalı kontrol yapabilirsiniz. Cihaz bağlanır bağlanmaz X.php dosyasına bağlanıp json.php dosyasının adresini bu X php dosyasından okuyarak cihaz belleğinde tutabilir. json.php dosyasının adını sürekli değişir ve x.php içerisinden güncelleyebilirsiniz vs vs buradaki sınır sizin düşünceniz ve geliştireceklerinizden ibaret...
    Öncelikle verdiğiniz bilgiler için teşekkürler, Her üye'nin bir cihaz id'si DB'de zaten kayıtlı. Bunu kullanmayı denedim ancak Login olmayan kullanıcılarında Json'a erişmesi gerek burada sorun yaşıyoruz.

    Bu durumda iki ayrı json dosyası oluşturmam gerekecek sanırım. İlk Json sadece kullanıcının Login olmasına olanak sağlayacak. İkinci Json ise kullanıcı login olduktan sonra diğer verilere erişme olanağı sağlayacak.

    Ancak bu durumda'da kullanıcı kayıtlı cihaz üzerinden login olup json erişim izni aldıktan sonra tekrar istediği veriye ulaşabilecek

    Sanırım ben fazla detaycı düşünüyorum En mantıklı gelen şey dediğiniz gibi json adresini sürekli değiştirmek ya da token kullandırtmak.
  • 02-06-2016, 18:12:57
    #17
    app store da bulunan (veriyorlar mı bilmiyorum) uygulamayı kurmuş telefon idlerini alın ve veritabanınıza kaydedin. Uygulamanın içinde siteadi.com/json.php?deviceid={buraya_cihaz_idsi_gelecek} şeklinde sayfanıza bağlanmasını sağlayın. Bağlandığı anda önce cihaz idsini veritabanınızda arayın. Varsa kullanıcının ip, browser tarzı bilgilerini kaydedin. Böylece güvenli bağlantı mı sağlıyor yoksa iş bilen birisi ve istediği gibi mi bağlanıyor anlarsınız.
  • 02-06-2016, 18:21:30
    #18
    loc adlı üyeden alıntı: mesajı görüntüle
    app store da bulunan (veriyorlar mı bilmiyorum) uygulamayı kurmuş telefon idlerini alın ve veritabanınıza kaydedin. Uygulamanın içinde siteadi.com/json.php?deviceid={buraya_cihaz_idsi_gelecek} şeklinde sayfanıza bağlanmasını sağlayın. Bağlandığı anda önce cihaz idsini veritabanınızda arayın. Varsa kullanıcının ip, browser tarzı bilgilerini kaydedin. Böylece güvenli bağlantı mı sağlıyor yoksa iş bilen birisi ve istediği gibi mi bağlanıyor anlarsınız.
    Bunu denedim ve 2 sonuca vardım ;

    1. Kullanıcı üye olurken cihazın ID'sini DB'de kullanıcı tablosuna kayıt ediyorum zaten. Daha önce kayıt olmuş olan birinin cihaz id'si olduğu için json'a ulaşabiliyor o yönde sıkıntı yok ancak yeni kayıt olmak isteyen veya kayıt olmayan bir kullanıcı app'ye ulaşamıyor çünkü cihaz id'si DB'de kayıtlı değil. Buda bundan sonra uygulamayı indiren kişiler json'a erişemeyecek demek oluyor.

    2. İlk sorunu çözmenin bir kaç yolu var ve var sayalım çözdük. Bu durumda kullanıcı önce sisteme bir cihaz ile kayıt olup kendi cihaz id'sini bir yere not alıp tarayıcı üzerinden site.com/json.php?deviceid={benim_cihaz_id} diyerek yine bağlanabilecek. Çünkü artık DB'de o cihaz id'si kayıt edilmiş olacak.