IOS-APP mit Login/Register und UserArea etc..

  • Das hat nichts mit Datenbanken, sondern mit der Einrichtung deines Webservers zu tun. Ich bin jedoch nicht der 1&1 Support. Schau in deinem Interface nach TLS / SSL oder vielleicht nach Let's Encrypt, und finde es heraus.

    Wenn Du nichts findest, dann wende Dich an den Support (dem von 1&1), und sage ihnen sie mögen für deine Domain TLS (ggfs. mit Let's Encrypt) aktivieren.
    * Kann Spuren von Erdnüssen enthalten.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von NSObject ()

  • NSObject schrieb:

    Das hat nichts mit Datenbanken, sondern mit der Einrichtung deines Webservers zu tun. Ich bin jedoch nicht der 1&1 Support. Schau in deinem Interface nach TLS / SSL oder vielleicht nach Let's Encrypt, und finde es heraus.

    Wenn Du nichts findest, dann wende Dich an den Support (dem von 1&1), und sage ihnen sie mögen für deine Domain TLS (ggfs. mit Let's Encrypt) aktivieren.
    Okey werde es mal versuchen.. Damit ist dann das SSL Zertifikat gemeint oder? :D

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von NSObject ()

  • Quellcode

    1. let urlstring = "HIER DIE ADRESSE/register.php?username=\(tfUsername.text!)&password=\(tfPassword.text!)&email=\(tfMail.text!)&username=dummy"
    2. let url = URL(string: urlstring)
    3. var request = URLRequest(url: url!)
    4. let session = URLSession.shared
    5. let task = session.dataTask(with: request, completionHandler: { (data, response, error) in
    6. print("Error: \(error)")
    7. print("Response: \(response)")
    8. var dataString = String(data: data!, encoding: String.Encoding.utf8) as String!
    9. print("DataString: \(dataString)")
    10. })
    11. task.resume()
    Alles anzeigen
    Habe es so halb hinbekommen... allerdings habe ich n kleinen Error bzw die Daten werden nicht gespeichert.. kann mir da jemand helfen?:

    und hier noch der error:


    Das gebe ich in dem Browser ein: DOMAINNAME/register.php?userna…t@test.de&fullname=Pascal

    Quellcode

    1. 2017-02-16 19:11:18.020552 BikingApp[4776:276562] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /Users/Passi/Library/Developer/CoreSimulator/Devices/C076E722-3BA9-4B0C-A68C-914C5E332B49/data/Containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
    2. 2017-02-16 19:11:18.023855 BikingApp[4776:276562] [MC] Reading from private effective user settings.
    3. Error: nil
    4. Response: Optional(<NSHTTPURLResponse: 0x608000226ee0> { URL: http://ADESSE/register.php?username=dummy&password=dummy&email=dummy&username=dummy } { status code: 200, headers {
    5. Connection = "keep-alive";
    6. "Content-Encoding" = gzip;
    7. "Content-Type" = "text/html; charset=UTF-8";
    8. Date = "Thu, 16 Feb 2017 18:11:28 GMT";
    9. "Keep-Alive" = "timeout=15";
    10. Server = Apache;
    11. "Transfer-Encoding" = Identity;
    12. "X-Powered-By" = "PHP/7.0.15";
    13. } })
    14. DataString: Optional("{\"status\":\"400\",\"message\":\"missing required Information\"}")
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Lenon ()

  • Neu

    Das macht mich fassungslos.

    Welche Literatur benutzt Du? – Bzw. welche Literatur benutzt Du wofür? Bitte lerne erst mal die Grundlagen, wie man (Web-)Server/-dienste einrichtet und sicher betreibt. Wie man Daten sicher überträgt und speichert. Etwas über die Rechtlichen Grundlangen; und erst dann würde ich hiermit wieder weiter machen.
    * Kann Spuren von Erdnüssen enthalten.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von NSObject () aus folgendem Grund: typo

  • Neu

    NSObject schrieb:

    Das macht mich fassungslos.
    Welche Literatur benutzt Du? – Bzw. welche Literatur benutzt Du wofür? Bitte lerne erst mal die Grundlagen, wie man (Web-)Server/-dienste einrichtet und sicher betreibt. Wie man Daten sicher überträgt und speichert. Etwas über die Rechtlichen Grundlangen; und erst dann würde ich hiermit wieder weiter machen.
    Um für mich privat zu entwickeln, brauche ich mich nicht zwingend darüber erkundigen, wie ich Daten verschlüsselt übermittel. Ich bin mit dieser App nicht darauf ausgelegt, keine Umsatz zu erzielen, geschweige meine App zu veröffentlichen. Es geht lediglich darum, den Algorithmus des ganzen zu verstehen, und wie ich Daten überhaupt einmal richtig übermittelt bekomme.

    Ein Autohersteller fängt auch nicht mit dem ABS an, bevor er nicht einmal weis, wie die bremsen funktionieren.
  • Neu

    Lenon schrieb:

    Ein Autohersteller fängt auch nicht mit dem ABS an, bevor er nicht einmal weis, wie die bremsen funktionieren.
    Die Angreifer warten aber nicht, bis du mit deiner Webseite fertig bist, oder dich mal um das Thema Sicherheit gekümmert hast. Wenn du eine Bank bauen willst, baust du vielleicht auch nicht als erstes den Tresor. Das Geld lässt du deswegen aber trotzdem nicht offen rumliegen.

    BTW: Wie war nochmal dein Domainname? ;) +scnr+
    „Meine Komplikation hatte eine Komplikation.“

    Apps programmieren für iPhone und iPad
  • Neu

    macmoonshine schrieb:

    Lenon schrieb:

    Ein Autohersteller fängt auch nicht mit dem ABS an, bevor er nicht einmal weis, wie die bremsen funktionieren.
    Die Angreifer warten aber nicht, bis du mit deiner Webseite fertig bist, oder dich mal um das Thema Sicherheit gekümmert hast. Wenn du eine Bank bauen willst, baust du vielleicht auch nicht als erstes den Tresor. Das Geld lässt du deswegen aber trotzdem nicht offen rumliegen.
    BTW: Wie war nochmal dein Domainname? ;) +scnr+
    das ist schon verständlich, dennoch halte ich es unnötig, mich darum zu kümmern, wie die Datenpakete verschlüsselt gesendet werden, wenn ich nicht einmal richtig weis, wie ich sie überhaupt übermittel. Außerdem, veröffentliche ich eigentlich nirgends die Domain (gestern nur eine Zeile vergessen zu ändern) ich denke jetzt nicht, dass hacker sich stundenlang domainnamen raussuchen und dann auf gut gluck mal anfangen zu hacken.. Zumal der Datenbankzugriff mittels Hash verschlüsselt ist, wenn ich das so überhaupt sagen kann... Nichts desto trotz, möchte ich erstmal um das grundlegende sprich die Übermittlung der Daten kümmern, bevor ich mit der Daten-Sicherheit anfange.
  • Neu

    Da hast du recht, den Hacker interessiert nicht ob deine Domain XY oder YX lautet, er scannt einfach die IP-Adressen oder nutzt Suchmaschinen wie Google und Shodan um offene Services zu finden. Evtl. lässt er auch einfach Nmap oder einen Vulnerability Scanner über einen IP-Bereich laufen und schaut was sich so findet. Mit den damit gefunden Services kann er dann entscheiden ob ich ein Angriff lohnt, der nicht muss nicht unbedingt auf deine DB abzielen aber deinen Server in ein Botnetz zu integrieren ist sicher auch nicht verkehrt.

    Wenn du erst einmal schauen willst wie die Kommunikation mit einem Webservice funktionier solltest du einen lokalen Service auf deinem Rechner laufen lassen und damit testen. Auch wenn momentan alles Privat genutzt wird kann ich das auch mal ändern und dann denkst du dir: Sicherheit? Mach ich später, erst mal schauen wie das und das funktioniert.

    Aber selbst wenn dem nicht so ist, ein Hacker hat zugriff auf deine DB und liest die Passwörter aus evtl. auch von Familienmitgliedern und Freunden die deinen Service nutzen. Dummerweise hat der Mensch die Gewohnheit Passwörter an verschiedenen Stellen immer wieder zu nutzen.

    Oder um es mit deinem Autovergleich zu sagen, der Autohersteller kümmert sich vmtl. wirklich erst um die Bremsen (zumindest nach Chassis, Lenkung und Motor), aber er lässt das Auto ohne ABS, Blinker, Airbag usw. nicht direkt auf den öffentlichen Verkehr los. Du macht das gerade.
    Das Herz besitzt Gründe, die die Vernunft nicht kennt.
  • Neu

    Lenon schrieb:

    ich denke jetzt nicht, dass hacker sich stundenlang domainnamen raussuchen und dann auf gut gluck mal anfangen zu hacken..

    Ähh... *räusper* *hüstel* Nun ja...
    Die scannen permanent alle IP-Adressen, alle DNS-Einträge, checken alle Ports und prüfen gegen alle bekannten und unbekannten Exploits! Da setzt sich niemand stundenlang für Deine eine Domain hin. Da laufen stundenlang, permanent Scripts für alle (!) Domains und IP-Adressen, darunter auch Deine!

    Aber laß Dich nicht abschrecken. Laß Dich sensibilisieren, was Sicherheit angeht. Das ist wichtig, sehr (!) wichtig.

    Wenn Du ausprobieren und lernen willst, laß Dich nicht abschrecken. Mach das, aber in einem lokalen Ramen, der von außen nicht zugänglich ist, bis Du weißt, wie es geht... Und wenn Du weißt, wie es geht, weißt Du, daß Du es niemals so hättest machen dürfen... :D
    Twix heißt jetzt Raider!
  • Neu

    torquato schrieb:

    Lenon schrieb:

    ich denke jetzt nicht, dass hacker sich stundenlang domainnamen raussuchen und dann auf gut gluck mal anfangen zu hacken..
    Ähh... *räusper* *hüstel* Nun ja...
    Die scannen permanent alle IP-Adressen, alle DNS-Einträge, checken alle Ports und prüfen gegen alle bekannten und unbekannten Exploits! Da setzt sich niemand stundenlang für Deine eine Domain hin. Da laufen stundenlang, permanent Scripts für alle (!) Domains und IP-Adressen, darunter auch Deine!

    Aber laß Dich nicht abschrecken. Laß Dich sensibilisieren, was Sicherheit angeht. Das ist wichtig, sehr (!) wichtig.

    Wenn Du ausprobieren und lernen willst, laß Dich nicht abschrecken. Mach das, aber in einem lokalen Ramen, der von außen nicht zugänglich ist, bis Du weißt, wie es geht... Und wenn Du weißt, wie es geht, weißt Du, daß Du es niemals so hättest machen dürfen... :D
    Ich verstehe ich da schon.. Dennoch Spielt es jetzt eher weniger eine Rolle.. Um zum eigentlichen Thema zurückzukommen kommen... Ich habe nun den DataString Array in meiner IOS Konsole mit z.B DataString: Optional("{\"status\":\"200\",\"message\":\"Successfully registered\",\"id\":\"14\",\"username\":\"DataTestgi\",\"email\":\"jfjfjfj\",\"fullname\":\"DUMMY\",\"ava\":\"\"}") oder mehreren Ausgaben. Wie kann ich diesen String wieder in die einzelnen Teile wie Username, ID etc aufteilen? Bedeuten diese Backslashes innerhalb der

    var dataString = String(data: data!, encoding: String.Encoding.utf8) as String!
    print("DataString: \(dataString)")

    Das dies der String Array an der bestimmten position ist, oder muss ich das ganze irgendwie Splitten?! Man man ich vermisse echt den Java code bei Swift haha...
  • Neu

    Lenon schrieb:

    das ist schon verständlich, dennoch halte ich es unnötig, mich darum zu kümmern, wie die Datenpakete verschlüsselt gesendet werden, wenn ich nicht einmal richtig weis, wie ich sie überhaupt übermittel. Außerdem, veröffentliche ich eigentlich nirgends die Domain (gestern nur eine Zeile vergessen zu ändern) ich denke jetzt nicht, dass hacker sich stundenlang domainnamen raussuchen und dann auf gut gluck mal anfangen zu hacken.. Zumal der Datenbankzugriff mittels Hash verschlüsselt ist, wenn ich das so überhaupt sagen kann... Nichts desto trotz, möchte ich erstmal um das grundlegende sprich die Übermittlung der Daten kümmern, bevor ich mit der Daten-Sicherheit anfange.
    Meine E-Mail-Adresse habe ich auch nirgendwo veröffentlicht, trotzdem bekomme ich allerhand tolle Mails. Datenübertragung kannst du auch im Sandkasten lernen. Dafür brauchst du nun wirklich keinen Server im Netz.
    „Meine Komplikation hatte eine Komplikation.“

    Apps programmieren für iPhone und iPad
  • Neu

    macmoonshine schrieb:

    Lenon schrieb:

    das ist schon verständlich, dennoch halte ich es unnötig, mich darum zu kümmern, wie die Datenpakete verschlüsselt gesendet werden, wenn ich nicht einmal richtig weis, wie ich sie überhaupt übermittel. Außerdem, veröffentliche ich eigentlich nirgends die Domain (gestern nur eine Zeile vergessen zu ändern) ich denke jetzt nicht, dass hacker sich stundenlang domainnamen raussuchen und dann auf gut gluck mal anfangen zu hacken.. Zumal der Datenbankzugriff mittels Hash verschlüsselt ist, wenn ich das so überhaupt sagen kann... Nichts desto trotz, möchte ich erstmal um das grundlegende sprich die Übermittlung der Daten kümmern, bevor ich mit der Daten-Sicherheit anfange.
    Meine E-Mail-Adresse habe ich auch nirgendwo veröffentlicht, trotzdem bekomme ich allerhand tolle Mails. Datenübertragung kannst du auch im Sandkasten lernen. Dafür brauchst du nun wirklich keinen Server im Netz.
    Warum muss hier eigentlich darüber diskutiert werden, dass es unsicher ist etc. Das habe ich alles verstanden. Aber letztendlich ist es doch meine Sache, wenn mein Webspace attackiert wird oder etwa nicht?

    Können wir also bitte wieder zur eigentlichen Thematik zurückkehren?...

    Lenon schrieb:


    Ich verstehe ich da schon.. Dennoch Spielt es jetzt eher weniger eine Rolle.. Um zum eigentlichen Thema zurückzukommen kommen... Ich habe nun den DataString Array in meiner IOS Konsole mit z.B DataString: Optional("{\"status\":\"200\",\"message\":\"Successfully registered\",\"id\":\"14\",\"username\":\"DataTestgi\",\"email\":\"jfjfjfj\",\"fullname\":\"DUMMY\",\"ava\":\"\"}") oder mehreren Ausgaben. Wie kann ich diesen String wieder in die einzelnen Teile wie Username, ID etc aufteilen? Bedeuten diese Backslashes innerhalb der
    var dataString = String(data: data!, encoding: String.Encoding.utf8) as String!
    print("DataString: \(dataString)")

    Das dies der String Array an der bestimmten position ist, oder muss ich das ganze irgendwie Splitten?! Man man ich vermisse echt den Java code bei Swift haha...
  • Neu

    Lenon schrieb:

    Ein Autohersteller fängt auch nicht mit dem ABS an, bevor er nicht einmal weis, wie die bremsen funktionieren.
    Ein Autohersteller würde sein Auto aber nicht ohne sichere und zuvor geprüfte Bremsen in den öffentlichen Verkehr schicken.

    Lenon schrieb:

    Warum muss hier eigentlich darüber diskutiert werden, dass es unsicher ist etc. Das habe ich alles verstanden. Aber letztendlich ist es doch meine Sache, wenn mein Webspace attackiert wird oder etwa nicht?
    Nein, das ist falsch. Denn von jedem Server geht eine Gefahr für alle anderen Teilnehmer aus.
    Das ist so wie mit den Autos und den Bremsen.
    * Kann Spuren von Erdnüssen enthalten.
  • Neu

    NSObject schrieb:

    Lenon schrieb:

    Ein Autohersteller fängt auch nicht mit dem ABS an, bevor er nicht einmal weis, wie die bremsen funktionieren.
    Ein Autohersteller würde sein Auto aber nicht ohne sichere und zuvor geprüfte Bremsen in den öffentlichen Verkehr schicken.

    Lenon schrieb:

    Warum muss hier eigentlich darüber diskutiert werden, dass es unsicher ist etc. Das habe ich alles verstanden. Aber letztendlich ist es doch meine Sache, wenn mein Webspace attackiert wird oder etwa nicht?
    Nein, das ist falsch. Denn von jedem Server geht eine Gefahr für alle anderen Teilnehmer aus.Das ist so wie mit den Autos und den Bremsen.
    Können wir jetzt Bitte wieder zum eigentlichen Thema kommen?...
  • Neu

    Bitte verwende die Code-Tags!

    Lenon schrieb:

    Ich habe nun den DataString Array in meiner IOS Konsole mit z.B

    Quellcode

    1. DataString: Optional("{\"status\":\"200\",\"message\":\"Successfully registered\",\"id\":\"14\",\"username\":\"DataTestgi\",\"email\":\"jfjfjfj\",\"fullname\":\"DUMMY\",\"ava\":\"\"}")
    oder mehreren Ausgaben. Wie kann ich diesen String wieder in die einzelnen Teile wie Username, ID etc aufteilen? Bedeuten diese Backslashes innerhalb der

    Quellcode

    1. var dataString = String(data: data!, encoding: String.Encoding.utf8) as String!
    2. print("DataString: \(dataString)")
    Hast Du den als String oder als Data-Objekt gezogen?
    * Kann Spuren von Erdnüssen enthalten.
  • Neu

    Lenon schrieb:

    Ich verstehe ich da schon.. Dennoch Spielt es jetzt eher weniger eine Rolle.. Um zum eigentlichen Thema zurückzukommen kommen... Ich habe nun den DataString Array in meiner IOS Konsole mit z.B DataString: Optional("{\"status\":\"200\",\"message\":\"Successfully registered\",\"id\":\"14\",\"username\":\"DataTestgi\",\"email\":\"jfjfjfj\",\"fullname\":\"DUMMY\",\"ava\":\"\"}") oder mehreren Ausgaben. Wie kann ich diesen String wieder in die einzelnen Teile wie Username, ID etc aufteilen? Bedeuten diese Backslashes innerhalb der
    Für mich sieht das weniger wie String als mehr wie ein Dictionary aus ... aber was kenne ich mich schon mit Swift aus :D

    Ups, da war @NSObject schneller...

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Neu

    NSObject schrieb:

    Bitte verwende die Code-Tags!

    Lenon schrieb:

    Ich habe nun den DataString Array in meiner IOS Konsole mit z.B

    Quellcode

    1. DataString: Optional("{\"status\":\"200\",\"message\":\"Successfully registered\",\"id\":\"14\",\"username\":\"DataTestgi\",\"email\":\"jfjfjfj\",\"fullname\":\"DUMMY\",\"ava\":\"\"}")
    oder mehreren Ausgaben. Wie kann ich diesen String wieder in die einzelnen Teile wie Username, ID etc aufteilen? Bedeuten diese Backslashes innerhalb der

    Quellcode

    1. var dataString = String(data: data!, encoding: String.Encoding.utf8) as String!
    2. print("DataString: \(dataString)")
    Hast Du den als String oder als Data-Objekt gezogen?
    Da bin ich mir nicht 100 %ig sicher aber so wie ich das aus dem Code gelesen habe schon als String oder?!... Wegen (String Blabla) ? as? String!... Wenn ich mein Son Dings da wieder parse mit z.B let firstNameValue = parseJSON["status"] as? String
    print(firstNameValue)

    bekomme ich folgendes ausgegeben: Optional("200")

    MyMattes schrieb:

    Lenon schrieb:

    Ich verstehe ich da schon.. Dennoch Spielt es jetzt eher weniger eine Rolle.. Um zum eigentlichen Thema zurückzukommen kommen... Ich habe nun den DataString Array in meiner IOS Konsole mit z.B DataString: Optional("{\"status\":\"200\",\"message\":\"Successfully registered\",\"id\":\"14\",\"username\":\"DataTestgi\",\"email\":\"jfjfjfj\",\"fullname\":\"DUMMY\",\"ava\":\"\"}") oder mehreren Ausgaben. Wie kann ich diesen String wieder in die einzelnen Teile wie Username, ID etc aufteilen? Bedeuten diese Backslashes innerhalb der
    Für mich sieht das weniger wie String als mehr wie ein Dictionary aus ... aber was kenne ich mich schon mit Swift aus :D
    Ups, da war @NSObject schneller...

    Mattes
    haha.. Mit Swift kenne ich mich eigentlich 0 aus.. Habe erst seit einigen Tagen Erfahrung gemacht.. Die ganzen Variablendeklarationen und Verzweigungen etc.. klappen schon ganz gut, ist leider doch etwas anders als mein geliebtes Java haha :P
  • Neu

    Lenon schrieb:

    das ist schon verständlich, dennoch halte ich es unnötig, mich darum zu kümmern, wie die Datenpakete verschlüsselt gesendet werden, wenn ich nicht einmal richtig weis, wie ich sie überhaupt übermittel.
    Du reißt jetzt einige interessante Techniken auf einmal an und logisch, wenn Du erst die Zusammenhänge lernen musst. Aber mach das doch erst zu Hause im Netzwerk. Setz Dir ein Linux auf, vielleicht mit ein paar virtuellen Maschinen und gut ist. Zu Hause im LAN ist es total egal wenn Du nichts verschlüsselt, das Passwort (no-go) im Klartext (no-go no-go) mitschickst usw..