Jump to content
Unity Insider Forum

skee

Members
  • Content count

    181
  • Joined

  • Last visited

  • Days Won

    4

skee last won the day on November 12 2017

skee had the most liked content!

Community Reputation

38 Excellent

About skee

  • Rank
    Advanced Member

Recent Profile Visitors

3,178 profile views
  1. skee

    Sicherheitskonzept [MySql DB]

    Vielleicht kannst du uns ja mal ein paar Details zu Deinem Spiel verraten, dann können wir dir vielleicht ein paar Tipps oder Denkanstöße geben, wie Du Dinge umsetzen könntest, etc
  2. skee

    Sicherheitskonzept [MySql DB]

    Also, jetzt würde ich gerne mal wissen, was du für ein Projekt machst., wenn du für eine Webschnittstelle 2000 Stunden veranschlagst. In der Zeit habe ich einen kompletten Authoritative-Server für ein MMO mit ca. 50.000 Zeilen Code im Alleingang geschrieben... Nichtsdestotrotz musst du dich fragen, was du willst. Entweder eine Serverschnittstelle, die jeder einfach manipulieren kann, oder eben nicht...
  3. skee

    Sicherheitskonzept [MySql DB]

    Genau. Und deswegen ist das Hashen sinnlos. Bzw bringt dir praktisch kein Plus an Sicherheit. Deswegen muss der Server so gestrickt sein, dass er validiert, ob die Daten vom Client grundsätzlich richtig sind. Und der Client darf eben keine kritischen Daten schicken. Beispiel: Der Client darf nicht festlegen, wie viele Punkte jemand hat oder wieviele Münzen/Coins/etc er gesammelt hat. Sondern der Client schickt an den Server, welche Aktionen er durchgeführt hat und der Server schaut dann, ob diese Aktion für diesen Client/User valide und erlaubt ist und wenn diese Prüfung positiv ist, bekommt er Münzen/Coins/etc gutgeschrieben und schickt diese Info wieder an den Client, die der Client dann anzeigt. Eiserne Regel: NEVER trust the client
  4. skee

    Sicherheitskonzept [MySql DB]

    Das ist genau der Punkt, warum es grundsätzlich egal ist, ob gehashed wurde oder nicht. Daher sollte Dein Server, und die entsprechenden Mechaniken, eben so gestrickt sein, dass es einem Angreifer nicht möglich ist, sich Dinge zu erschleichen. Maximalwerte sind da auch nicht die Lösung. Denn grundsätzlich ist es ja egal, ob sich jemand 10 Münzen erschleicht, oder 10.000 Münzen. Vielleicht kannst du ja mal ein konkretes Beispiel aus deinem Projekt darstellen, bei dem Du Befürchtungen hast, dass sich Dinge erschlichen werden können. Dann können wir hier mal drüber schauen...
  5. skee

    Sicherheitskonzept [MySql DB]

    Es ist gar nicht SO unsicher. Du musst nur Deinen Server absichern und schon ist alles gut Vor was genau hast du denn Angst, bzw. welche "Attacken" befürchtest Du?
  6. skee

    Sicherheitskonzept [MySql DB]

    Also ich würde ja grundsätzlich empfehlen, dass alles was vom Client kommt, per se erstmal als unsicher einzustufen. Egal, was und wie man clientseitig verschlüsselt, kann von einem potentiellen Angreifer ausgelesen und nachgebaut werden. Daher macht es, zumindest aus einem Sicherheitsaspekt keinen Sinn, den Inhalt von Anfragen zu verschlüsseln. Daher ist die einzige saubere Lösung, dass man den Server soweit absichert, dass er Anfragen entsprechend prüft und validiert und ungültige Daten verwirft, bzw. nicht weiter verarbeitet. Alles andere ist nur eine Illusion von Sicherheit...
  7. skee

    Sicherheitskonzept [MySql DB]

    Was genau möchtest du denn Verschlüsseln? Die Kommunikation? -> Nutze SSL
  8. Also, auf meinem Sony Xperia Z5 Compact läuft alles ohne Probleme. Zum Feedback: Ich finde die App wirklich sehr gelungen. Ist halt auf das Nötigste reduziert, aber das ist ja nichts schlechtes. Und optisch finde ich sie auch sehr schön und ich glaube, Kindern wird sie gut gefallen. Alles schön hell und übersichtlich. Auf dem Handy vielleicht, grad bei vielen Karten, etwas klein, aber auf einem Tablet kommt das bestimmt gut. Alles in Allem: Beide Daumen hoch
  9. skee

    Daten synchronisieren

    Ich glaube, Firebase könnte da was für dich sein: https://firebase.google.com/docs/database/unity/start
  10. Also, mal grundsätzlich: "Never trust the client!" - Der Client sollte keinen Hash generieren. Sondern den Hash generiert der Server und schickt ihn an den Client und der Client authorisiert sich damit am Server. - Den Hash würde ich auch rein zufällig generieren lassen und nicht aus Daten, die man theoretisch in Erfahrung bringen könnte (also Username, Passwort, etc). - Soweit ich das sehe, schickst du das Passwort im Klartext durchs Netz. Das sollte man, wenn möglich, schon gleich auf dem Client hashen. - Und das Passwort NIEMALS im Klartext in der DB speichern. (sieht so aus, als machst du das) - Warum du "WHERE username LIKE ?" machst, ist nicht nachzuvollziehen. Ich glaube, du solltest dich erst mal ein bisschen in Client/Server Kommunikation (mit Schwerpunkt PHP) aufschlauen, bevor du das "produktiv" einsetzt. Du kannst mich da gerne mal direkt anhauen. Das führt im Forum wahrscheinlich etwas zu weit und ist ja auch thematisch eher nicht so passend.
  11. skee

    Moin moin!

    Ahoi Kamerad!
  12. skee

    WEBGL - Projekt

    Wie startest du denn den Server?
  13. Hallo, Das ist jetzt zwar keine technische Unity-Frage, aber ich wüsste jetzt im Forum keinen besseren Platz dafür. Falls s hier nicht ok ist, bitte einfach verschieben. Weiß jemand, ob es lt. den Regeln von Apple und Google erlaubt ist, dass sich die User Ihre gekauften, erspielten oder von anderen Usern übertragenen, Ingame-Währungen wieder ausbezahlen lassen? Ich finde immer nur Infos zu Glückspiel o.ä. Bei mir geht es eher um einen "skill-based" Wettstrei zwischen zwei Parteien, die einen entsprechenden Einsatz festlegen, den der Gewinner dann bekommt. Und das soll sich derjenige dann auch auszahlen lassen können. Wär super, wenn da jemand weitere Infos für mich hätte. Danke Skee
  14. Also, wenn du die Variable als static deklarierst, sollte das so möglich sein. Aber die sinnvollste Methode wäre, dass du dir erstmal das GameObject holst, auf dem dieses Script als Komponente liegt. Das machst du entweder mit Find oder referenzierst direkt im Editor darauf. zB: GameObject player =GameObject.Find("Player"); Danach holst du dir das Script als Komponente: IngameUIManager im = player.GetComponent<IngameUIManager>(); Und dann hast du eine Referenz auf das Script (bzw. das Objekt, da je jedes GO auf dem das Script liegt eine eigene Instanz davon hat) und kannst die Variable verwenden: if(im.is_armed){ //blablabla }
  15. skee

    Trigger und Damage

    Da muss ich dem hochgeschätzten Herrn malzbie leider widersprechen Ein "GetComponent" liefert NULL zurück, wenn die Komponente nicht vorhanden ist. Es wird, soweit ich es im Kopf habe, kein Fehler geworfen. Ich vermute daher, dass die Komponente "PlayersHealth" nicht auf dem Player-Objekt liegt. Dadurch ist "playersHealth" NULL und dann würde es auch passen, wenn "playersHealth.TakeDamage (100);" eine NullReferenceException ausgibt.
×