1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. EmmZett, 15.03.2012 #1
    EmmZett

    EmmZett Threadstarter Neuer Benutzer

    Hallo zusammen,

    ich bin Anfänger bei der App-Entwicklung. Ich versuche gerade ein App zu programmieren, dass Adressen aus einer MySQL Datenbank ausliest.
    Das ganze mache ich, indem ich ein PHP-Skript aufrufe, welches dann auf die Datenbank zugreift und mir die Daten als JSON-Array bereitstellt.
    Das ganze funktioniert auch problemlos.

    Da ich immer versuche alles zu optimieren, habe ich mich jetzt gefragt ob diese Methode sinnvoll/effizient ist? Kann dazu jemand was sagen?

    Inbesondere beschäftigen mich folgende Punkte:
    - angenommen das App wird von vielen Personen gleichzeigtig benutzt, kann es dann sein, dass das PHP-Skript "überlastet" wird? (Ich habe gelesen, dass für solche Zwecke ein Webservice sinnvoll ist, beim Weiterlesen hab ich dann festgestellt, dass solch ein PHP-Skript eig. ein Webservice ist?!?!)
    - Wie sieht es mit der Sicherheit aus? In dem PHP-Skript sind die Zugangsdaten zur Datenbank gespeichert, kann man die auslesen, da das Skript schließlich von außen auf einem Webserver liegt?
    - Da das Skript eben auf einem Websever liegt und über jeden Browser erreichbar ist, kann man es auch damit auslesen. Besteht eine Möglichkeit dies zu unterbinden, so dass man nur mit dem App darauf zugreifen kann?

    Ich hoffe ich konnte mein Anliegen einigermaßen verständlich rüberbringen.
    Schonmal danke und besten Gruß!
     
  2. Sentence, 16.03.2012 #2
    Sentence

    Sentence Erfahrener Benutzer

    Genau so solltest du es machen!
    Ähem ja, das PHP Script ist der Webservice :thumbup:
    Das Script wird nicht überlastet, höchstens der Webserver auf dem es liegt. Bei einem vernünftigen Hoster sollte das aber kein Problem sein.
    Nein, die kann man nicht auslesen, das Script gibt nur das aus, was du mittels echo, print oder dergleichen ausgibtst.
    Möglich ist alles. Du kannst zb. beim zugriff auf den Webservice bestimmte Parameter übergeben und je nach vorhandensein dieser Daten ausgeben oder nicht.
    Eleganter ist es, wenn du deiner HTTP Anfrage aus Android einen Custom Header mitgibst, wo du z.B. den User-Agent String deinen wünschen anpasst.
    Mit dem DefaultHttpClient geht das zb so:
    Code:
    HttpClient client = new DefaultHttpClient();
    HttpParams httpParameters = client.getParams();
    HttpConnectionParams.setConnectionTimeout (httpParameters, 5000);
    HttpConnectionParams.setSoTimeout (httpParameters, 5000);
    String Uri = "https://meineseite.com/tollerWebService.php";	
    HttpGet httpGet = new HttpGet(Uri);
    httpGet.setHeader("User-Agent", "MySpecialAndroidAppService");
    
    Im PHP Script kannst du mit
    Code:
    if (strpos($_SERVER['HTTP_USER_AGENT'], 'MySpecialAndroidAppService') !== FALSE) {
        doSomethingCool();
    }
    
    MfG
     
  3. cp2306, 16.03.2012 #3
    cp2306

    cp2306 Android-Lexikon

    Die Zugangsdaten haben in der aufgerufenen php-Datei nichts verloren.da braucht nur mal der php Interpreter ausfallen und jeder hat die Zugangsdaten.
    Passwörter gehören grundsätzlich in eine include Datei, natürlich auch mir der Endung.php und möglichst außerhalb des von außen zugänglichen Bereichs.

    Gesendet von meinem GT-I9100 mit Tapatalk
     
  4. EmmZett, 16.03.2012 #4
    EmmZett

    EmmZett Threadstarter Neuer Benutzer

    erstmal danke für die Antworten!

    Wenn ich das richtig verstanden habe, ist das sozusagen eine Abfrage nach Logininformationen die ich vorher festlege und in dem "User-Agent-String" speichere, korrekt?

    Dann greift das eig. PHP-Skript auf die include-Datei zu (welche in einerm sicheren Bereich des Webservers liegt) und holt sich daraus die Anmeldedaten für die Datenbank?
     
  5. cp2306, 16.03.2012 #5
    cp2306

    cp2306 Android-Lexikon

    Logininformationen würde ich das nicht bezeichen. An sich wird der UserAgent gesetzt und ausgelesen.
    Theoretisch könnte man in jedem x-beliebigem Browser den UserAgent ebenso verändern und das somit umgehen (allerdings nur wenn man weiß was man eingeben muss).

    Das ist korrekt.
    Es gibt den Serverpfad, das ist bspw /var/www (Providerabhängig).
    Dort legst du dann die Include-Datei ab (bspw /var/www/db_config.inc.php).
    Die eigentliche Webseite legst du in /var/www/website/
    Die Domain/Subdomain leitest du dann ebenfalls auf /var/www/webseite/
    Die db_config.inc.php lässt sich von aussen also nicht öffnen.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] App Leitfaden gesucht! Android App Entwicklung Dienstag um 21:17 Uhr
[OFFEN] Welches Intent erzeugt der Klick im Homescreen auf das Icon einer App? Android App Entwicklung Dienstag um 13:59 Uhr
[OFFEN] Logdateien der eigenen App Android App Entwicklung 15.06.2017
[ERLEDIGT] Kleine Probleme mit einer App Android App Entwicklung 14.06.2017
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[Meinung] Spezielle App für Mittelstand erstellen (lassen) Android App Entwicklung 23.05.2017
[ERLEDIGT] put in HashMap bringt App zum abstürzen Android App Entwicklung 22.05.2017
[ERLEDIGT] *.viivo kann keiner App zugeordnet werden - MANIFEST.XML ? Android App Entwicklung 19.05.2017
[GELÖST] Nach AS Update Fehler Error running app: Default Activity not found Android App Entwicklung 16.05.2017
[GESCHLOSSEN] Android Studio -> Telefongespräch über App Android App Entwicklung 16.05.2017

Users found this page by searching for:

  1. app mit datenbankanbindung

    ,
  2. app datenbankanbindung

    ,
  3. android datenbank anbinden

    ,
  4. entwickler datenbankanbindung,
  5. datenbankanbindung einer android app,
  6. android datenbankanbindung
Du betrachtest das Thema "App mit Datenbankanbindung" im Forum "Android App Entwicklung",