Skicka info från app till webbserver

Diskussion i 'Frågor, support och diskussion' startad av crazyrobban, 15 januari 2013.

  1. crazyrobban

    crazyrobban Adult Droid Medlem

    Blev medlem:
    10 december 2009
    Inlägg:
    582
    Mottagna gillanden:
    32
    Operatör:
    DGC
    Telefon:
    Galaxy Note Edge

    MINA ENHETER

    Operatör:
    DGC
    Telefon:
    Galaxy Note Edge
    Platta:
    Samsung Galaxy Tab Pro 8.4
    ROM:
    CM 13
    Jag har byggt en trevlig liten loginaktivitet, som jag vill använda för att ansluta mot min webbserver.

    Jag hade lätt kunnat göra detta genom att flänga in username och password i URL'en. (T.ex www.min-webbserver.com/index.php?username=user&password=pass )

    Men det känns la sådär att skicka ut lösenordet i en anslutningssträng.

    Någon som har något bra tips för att lösa detta? :)

    Username och password ska matcha mot en mySQL server.
     
  2. e7andy

    e7andy Professional Droid Hedersmedlem

    Blev medlem:
    14 oktober 2009
    Inlägg:
    2.349
    Mottagna gillanden:
    835
    Telefon:
    Huawei P10 Plus

    MINA ENHETER

    Telefon:
    Huawei P10 Plus
    Telefon 2:
    Nexus 5
    Telefon 3:
    ADP1
    Övrigt:
    LG G Watch R, ChromeCast
    Skaffa ett SSL-certifikat till din webbserver så är all trafik krypterad.
    GET-requester är också krypterade, men eftersom URL:er som anropas loggas (vilket skapar en sårbarhet på webbservern) så är det säkrare att använda POST för känslig data.
     
    crazyrobban gillar detta.
  3. crazyrobban

    crazyrobban Adult Droid Medlem

    Blev medlem:
    10 december 2009
    Inlägg:
    582
    Mottagna gillanden:
    32
    Operatör:
    DGC
    Telefon:
    Galaxy Note Edge

    MINA ENHETER

    Operatör:
    DGC
    Telefon:
    Galaxy Note Edge
    Platta:
    Samsung Galaxy Tab Pro 8.4
    ROM:
    CM 13
    Har faktiskt redan ett SSL-cert. :)

    POST hade inte varit några problem om jag hade kört en webview med en inloggningssida i php.

    Nu vill jag ha det så här (typ):
    Login = edittext fält och en Ok knapp, skickar vidare till en ny aktivitet (main)
    Main = aktivitet med webview som tar emot värdena från edittextfälten från loginaktiviteten
     
  4. e7andy

    e7andy Professional Droid Hedersmedlem

    Blev medlem:
    14 oktober 2009
    Inlägg:
    2.349
    Mottagna gillanden:
    835
    Telefon:
    Huawei P10 Plus

    MINA ENHETER

    Telefon:
    Huawei P10 Plus
    Telefon 2:
    Nexus 5
    Telefon 3:
    ADP1
    Övrigt:
    LG G Watch R, ChromeCast
    Varför går det inte att göra POST i det fallet?
     
  5. crazyrobban

    crazyrobban Adult Droid Medlem

    Blev medlem:
    10 december 2009
    Inlägg:
    582
    Mottagna gillanden:
    32
    Operatör:
    DGC
    Telefon:
    Galaxy Note Edge

    MINA ENHETER

    Operatör:
    DGC
    Telefon:
    Galaxy Note Edge
    Platta:
    Samsung Galaxy Tab Pro 8.4
    ROM:
    CM 13
    Det enda sättet jag känner till för att modifiera innehållet i en php-sida från java är att modifiera url:en.

    Menar du att jag kan komma förbi det?

    Jag vill liksom inte att min url blir http: //www.min-webbserver.com/index.php?user=crazyrobban&password=jättehemligtlösenord
     
  6. ViLANDER

    ViLANDER Senior Droid Medlem

    Blev medlem:
    12 december 2009
    Inlägg:
    1.594
    Mottagna gillanden:
    172

    MINA ENHETER

    När några här på Swedroid gjorde Madeli Design använde vi oss av login via GET, vilket är en solklar uppenbar risk, men det höll det simpelt.

    Men om jag tolkar dig rätt så vill du:

    • Ha två EditText, en med användarnamn, den andra med lösenord
    • Med hjälp av detta vara inloggad i en WebView

    Det skulle jag göra via CookieManager (kolla in setCookie()-metoden). Det som saknas är att webbsidan ska ha kakor som avgör om man är anhörig eller inte, men det ligger helt och hållet på webbsidans kod. Efter att du klickat på OK, kontrollera om du får en korrekt kaka, om du får det, spara kakans sträng och namn (eller kakan), skicka vidare detta till din WebView-aktivitet, initiera en CookieManager-instans och sätt kakan.

    Det tycker jag verkar simplast, om jag nu tolkade dig rätt. Jag har själv gjort samma sak då jag ville ha en egen inloggningsruta, men fortfarande så att jag var "färdiginloggad" när WebView-aktiviteten startade.
     
    Last edited: 15 januari 2013
    crazyrobban gillar detta.
  7. e7andy

    e7andy Professional Droid Hedersmedlem

    Blev medlem:
    14 oktober 2009
    Inlägg:
    2.349
    Mottagna gillanden:
    835
    Telefon:
    Huawei P10 Plus

    MINA ENHETER

    Telefon:
    Huawei P10 Plus
    Telefon 2:
    Nexus 5
    Telefon 3:
    ADP1
    Övrigt:
    LG G Watch R, ChromeCast
    I php plockar du ut POST-variabler med $_POST:
    http://php.net/manual/en/reserved.variables.post.php

    Exempel på hur man kan göra:
    http://www.wikihow.com/Execute-HTTP-POST-Requests-in-Android
     
    crazyrobban gillar detta.
  8. crazyrobban

    crazyrobban Adult Droid Medlem

    Blev medlem:
    10 december 2009
    Inlägg:
    582
    Mottagna gillanden:
    32
    Operatör:
    DGC
    Telefon:
    Galaxy Note Edge

    MINA ENHETER

    Operatör:
    DGC
    Telefon:
    Galaxy Note Edge
    Platta:
    Samsung Galaxy Tab Pro 8.4
    ROM:
    CM 13
    Ska pröva båda era lösningar!
    Tack så mycket. :)
     
  9. crazyrobban

    crazyrobban Adult Droid Medlem

    Blev medlem:
    10 december 2009
    Inlägg:
    582
    Mottagna gillanden:
    32
    Operatör:
    DGC
    Telefon:
    Galaxy Note Edge

    MINA ENHETER

    Operatör:
    DGC
    Telefon:
    Galaxy Note Edge
    Platta:
    Samsung Galaxy Tab Pro 8.4
    ROM:
    CM 13
    Lite uppföljning då,

    Jag körde vidare med POST hantering och det fungerar.
    Det som -inte- fungerar är att få med sig sin upprättade session till nästa aktivitet.
    Antar att jag får återupprätta den för varje gång.

    Vilket leder mig till en riktig nybörjarfråga, hur plockar jag med mig variabler mellan aktiviteter?
     
  10. Buzz

    Buzz Android Apprentice Medlem

    Blev medlem:
    14 maj 2010
    Inlägg:
    4.938
    Mottagna gillanden:
    2.228

    MINA ENHETER

    crazyrobban gillar detta.
  11. crazyrobban

    crazyrobban Adult Droid Medlem

    Blev medlem:
    10 december 2009
    Inlägg:
    582
    Mottagna gillanden:
    32
    Operatör:
    DGC
    Telefon:
    Galaxy Note Edge

    MINA ENHETER

    Operatör:
    DGC
    Telefon:
    Galaxy Note Edge
    Platta:
    Samsung Galaxy Tab Pro 8.4
    ROM:
    CM 13