• 01-06-2016, 16:33:21
    #1
    Merhaba Arkadaşlar,

    Şöyle bir sorunum var sizce bu sorunu nasıl çözerim ?

    Bir mobil uygulamam siteadi.com/json.php adresinden veri çekiyor. Buraya kadar herşey normal ancak ben tarayıcıdan siteadi.com/json.php adresine erişimleri kapatmak istiyorum.

    Örneğin : siteadi.com/json.php?act=liste&liste=2 komutu ile tarayıcıdan verileri görebiliyorum ve bunu istemiyorum.

    İhtiyacım olan şey ;

    Sadece mobil uygulamanın json.php'ye erişimesi.


    Cevap veren herkese teşekkürler
  • 01-06-2016, 18:12:22
    #2
    define kullanabilirsiniz.
  • 01-06-2016, 18:18:07
    #3
    netster adlı üyeden alıntı: mesajı görüntüle
    define kullanabilirsiniz.
    Define kullanımı zaten var, sayfaya direk erişim yok sadece json.php?act=liste&liste=2 tam konumu yazdığımızda veriye ulaşabiliyoruz.
  • 01-06-2016, 18:23:36
    #4
    Sadece mobil üzerinden mi erişim sağlamak istiyorsunuz ? Tam olarak ne yapmak istediğinizi anlamadığım için define kullanımı yeterli olur diye düşünmüştüm.

    Eğer sadece mobil üzerinden erişim sağlamak istiyorsanız ziyaretçinin mobil veya desktop kullandığını tespit edip ona göre işlem yapabilirsiniz. İsmini yanlış hatırlamıyorsam Mobile Detect diye ücretsiz bir PHP sınıfı olması gerekiyor. Neredeyse tüm mobil cihazları tanıyor. Eğer erişim desktop olursa 404 vs gibi bir sayfaya yönlendirme yapabilirsiniz.
  • 01-06-2016, 19:04:58
    #5
    netster adlı üyeden alıntı: mesajı görüntüle
    Sadece mobil üzerinden mi erişim sağlamak istiyorsunuz ? Tam olarak ne yapmak istediğinizi anlamadığım için define kullanımı yeterli olur diye düşünmüştüm.

    Eğer sadece mobil üzerinden erişim sağlamak istiyorsanız ziyaretçinin mobil veya desktop kullandığını tespit edip ona göre işlem yapabilirsiniz. İsmini yanlış hatırlamıyorsam Mobile Detect diye ücretsiz bir PHP sınıfı olması gerekiyor. Neredeyse tüm mobil cihazları tanıyor. Eğer erişim desktop olursa 404 vs gibi bir sayfaya yönlendirme yapabilirsiniz.
    Onu denedim bu durumda yine mobil tarayıcı üzerinden erişilebiliyor.

    İstediğim şey tam olarak şudur ;

    siteadi.com/json.php?act=liste&liste=2 adresine girildiğinde tüm veriler erişilebiliyor, ancak buna sadece com.uygulamaadi adlı uygulamanın erişmesine izin vermemiz gerekli.
  • 02-06-2016, 01:18:21
    #6
    @mersinstyle; Mobil uygulamanızın çalışma tarzını bilmeden net birşey söylemek zor ama aşağıda birkaç yöntem önereceğim.

    Eğer uygulamanız; webview tarzı tarayıcı tabanlıysa ve json.php ye javascript vb. clientside bir metodla ulaşıyorsa, basit önlemler alabilirsiniz ama %100 engellemek zordur. Çünkü herkes gibi uygulamanızda bir ziyaretçidir.

    Ama amatör girişleri engellemek adına; eğer json.php ye ajax (xhr) ile bağlanıyorsanız direk girişleri önlemek amacıyla en basitinden gelen isteğin ajaxmı değilmi kontrolünü yapabilirsiniz.

    Örnek:
    if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
    	echo 'icerik';
    }else{
           echo 'giris yasak';
    }
    Bu yöntem tarayıcıdan urlye direk girişleri engelleyecektir ama profesyonel birisi request headerları analiz edip curl ile ilgili headerları tanımlayarak bağlantı sağlayabilir.


    Ama uygulumanız native bir uygulamaysa, phpdeki curl gibi (javada sanırım java.net.URL diye geçiyor) dışardan görülemeyecek bir metodla json.php ye bağlantı sağlıyorsa, en temel yöntem olarak http basic auth kullanabilirsiniz. Json.php ye http auth şifresi uygulayıp, mobil uygulamanız üzerinden veriyi çekerken ise request olarak kullanıcı adı şifreyle kimlik doğrulaması yaparak erişirseniz, kullanıcı adı şifreyi bilmeyen kimse json.php ye ulaşamayacaktır.
  • 02-06-2016, 09:32:26
    #7
    Mobil uygulama webview ile mi içerik çekiyor? Uygulamaya özel bir User-agent oluşturup, sadece buna izin verseniz? En basit yöntem bu geldi bana
  • 02-06-2016, 10:48:52
    #8
    yasarkemaldag adlı üyeden alıntı: mesajı görüntüle
    @mersinstyle; Mobil uygulamanızın çalışma tarzını bilmeden net birşey söylemek zor ama aşağıda birkaç yöntem önereceğim.

    Eğer uygulamanız; webview tarzı tarayıcı tabanlıysa ve json.php ye javascript vb. clientside bir metodla ulaşıyorsa, basit önlemler alabilirsiniz ama %100 engellemek zordur. Çünkü herkes gibi uygulamanızda bir ziyaretçidir.

    Ama amatör girişleri engellemek adına; eğer json.php ye ajax (xhr) ile bağlanıyorsanız direk girişleri önlemek amacıyla en basitinden gelen isteğin ajaxmı değilmi kontrolünü yapabilirsiniz.

    Örnek:
    if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
    	echo 'icerik';
    }else{
           echo 'giris yasak';
    }
    Bu yöntem tarayıcıdan urlye direk girişleri engelleyecektir ama profesyonel birisi request headerları analiz edip curl ile ilgili headerları tanımlayarak bağlantı sağlayabilir.


    Ama uygulumanız native bir uygulamaysa, phpdeki curl gibi (javada sanırım java.net.URL diye geçiyor) dışardan görülemeyecek bir metodla json.php ye bağlantı sağlıyorsa, en temel yöntem olarak http basic auth kullanabilirsiniz. Json.php ye http auth şifresi uygulayıp, mobil uygulamanız üzerinden veriyi çekerken ise request olarak kullanıcı adı şifreyle kimlik doğrulaması yaparak erişirseniz, kullanıcı adı şifreyi bilmeyen kimse json.php ye ulaşamayacaktır.
    Öncelikle detaylı bilgilendirme için teşekkürler, Uygulama Cordova tabanlı Hybird bir uygulamadır. Söylediklerinizi detaylı araştırıp deneyeceğim ve sonucu size yazacağım.

    aliosmanyuksel adlı üyeden alıntı: mesajı görüntüle
    Mobil uygulama webview ile mi içerik çekiyor? Uygulamaya özel bir User-agent oluşturup, sadece buna izin verseniz? En basit yöntem bu geldi bana
    Hayır malesef webview değil. Cevap için teşekkürler
  • 02-06-2016, 11:03:01
    #9
    mersinstyle adlı üyeden alıntı: mesajı görüntüle
    Öncelikle detaylı bilgilendirme için teşekkürler, Uygulama Cordova tabanlı Hybird bir uygulamadır. Söylediklerinizi detaylı araştırıp deneyeceğim ve sonucu size yazacağım.







    Hayır malesef webview değil. Cevap için teşekkürler


    http://stackoverflow.com/questions/3...in-cordova-app

    Buyur hocam öyleyse[emoji4]

    Ionic Framework vs kullanıyorsan bu tarz bir arayış yapabilirsin.

    'Cordova set useragent' tarzında google'da arama yapmak işinizi kolaylaştırır.

    Kolay gelsin


    Sent from my iPhone using Tapatalk