Sicherheit eines JAVA-Chats mit Datenbank

Original von Schlaflos
Dann lass das Applet mit deinem Chat Server sprechen, welcher dann die Datenbank zugriffe regelt.

dafuer waere es imho am besten auf dem webserver eine xml api fuer den chat bereitzustellen. wenn man das hat ist die oben von mir vorgeschlagene "ajax"-loesung schon halb fertig. spricht natuerlich nichts dagegen ausserdem noch einen java client anzubieten.

Hash Werte sind grundsätzlich nicht ohne weiteres Rückrechenbar,

auch nicht "mit weiteres" sondern gar nicht. hashfunktionen sind abbildungen aus einem unendlichen in einen endlichen raum. dabei geht immer information verloren.

Verschlüsselungen werden eher geknackt als Hash Werte.

versteh ich nicht.

man kann brute-force suche nach einem schluessel genauso wie nach einem hash machen. was das angeht sind verschluesselungsverfahren und hashverfahren gleich sicher. es gibt kaputte algorithmen und solche, die nach dem aktuellen stand der oeffentlich zugaenglichen forschung als sicher gelten. beispiel fuer kaputte krypto- und hash-algorithmen: des, md4, md5. beispiel fuer vermutlich sichere krypto- und hash-algorithmen: aes, rsa, sha-256.
http://www.cryptolabs.org/hash/LucksWeisSicherheitHash0305.html
 
o_O Argh, wieso willst Du immer alles bruten? :)

Also ich weiß nicht wie Du es machen würdest.

Meine Lösung wäre, mal davon ab das ich alles in JSP machen würde, ein Applikation Server der am besten einen WebServer integriert hat (in meinem Fall JBoss mit Tomcat) und dann unabhängig von der WebSeite einen kleinen ChatServer zu programmieren der auch komplett die DB Zugriffe regelt. Es können dann beliebige Clients, darauf aufsetzen, egal ob JSP, SWT/Swing Applikationen oder Applets. Aber das ist jetzt schon eine Enterprise Lösung die ganz klar zwischen DB Layer, Abstraction Layer, CC/Logical Layer und Presentation Layer unterscheidet und das mal eben als Hobby Projekt, nein danke.
 
ja, ich programmiere beruflich, wenn ich auch erst seit gut einem Jahr in einer Ausbildung bin ;)

An der Sandbox ist gar nichts falsch und es geht meines Wissens auch irgendwie auf eine Datenbank von einem unsignierten Applet aus zuzugreifen (Hab zwar schon ein bisschen was mit Applets gemacht, aber nicht im Bezug auf Datenbanken), nur steht das in keiner relation zum Ertrag.

Du glaubst gar nicht wie dämlich sich teilweise leute anstellen wenn sie das JRE runterladen sollen. Da kannste denen n link schicken und noch genau beschreiben, wohin sie klicken müssen und sie rufen dich erstnochmal an wies jetzt wirklich funktioniert bevor sie es tatsächlich auf die Reihe bekommen.

Zu deinem Letzen Ansatz @ schlaflos

öh, dass kannste vielleicht im Geschäft machen, aber net privat (haste ja selber schon eingesehen ;)).
 
Original von Schlaflos
o_O Argh, wieso willst Du immer alles bruten? :)

du hast ja keine alternativen vorgeschlagen. wenn du aes oder rsa gebrochen hast solltest du das entweder der welt verkuenden oder dich bei der nsa bewerben.

Also ich weiß nicht wie Du es machen würdest.

serverseitige skripte die eine xml api realisieren und im browser etwas javascript welches asynchron mittels XMLHttpRequest diese api nutzt. das ganze nennt man dann "ajax" (asynchronous javascript and xml). so funktioniert z.b. http://maps.google.com/ was ich fuer ne sehr geile webanwendung halte.

Meine Lösung wäre, mal davon ab das ich alles in JSP machen würde

ich seh schon, du bist j2ee fan. :) soweit ich weiss legt die spezifikation kein protokoll zwischen client und server fest. in der regel wird das wohl http sein, aber ein xml-basierter webservice geht ja auch.

Aber das ist jetzt schon eine Enterprise Lösung die ganz klar zwischen DB Layer, Abstraction Layer, CC/Logical Layer und Presentation Layer unterscheidet und das mal eben als Hobby Projekt, nein danke.

dem threadstarter schwebt wahrscheinlich eher quick'n'dirty php gehacke vor. aber das machen ja alle (also alle die nicht was dickes wie j2ee brauchen ;-). was mir als alternativen in sachen serverseitige skriptsprachen und frameworks noch einfaellt ist:
http://www.rubyonrails.com/
http://www.zope.org/
oder wenns richtig exotisch sein soll: http://www.newlisp.org/

mein vorschlag laesst sich mit allen genannten sprachen/frameworks realisieren, egal ob php, j2ee, ruby, brainfuck...
 
@Gottzilla

öh, dass kannste vielleicht im Geschäft machen, aber net privat (haste ja selber schon eingesehen Augenzwinkern ).

Nope, ich mache es auch privat so. Dauert dann zwar ungleich länger, aber man hat alles von Anfang an sauber getrennt, die Lösugen sind auch flexibel, erweiterbar und wiederverwertbar. Außerdem lernt man so viel mehr, weil dann sehr viel mehr Aufwand dazugehört. Ich traue es nur den meisten Leuten nicht zu.

Nicht weil ich meine sie wären zu dumm, sondern weil heute alle so Leben, dass die Dinge "schnell schnell schnell" und ohne großen Aufwand geschehen sollen.

@The Dude

du hast ja keine alternativen vorgeschlagen. wenn du aes oder rsa gebrochen hast solltest du das entweder der welt verkuenden oder dich bei der nsa bewerben.

Du weißt wohl nicht wer ich bin und wo ich arbeite *lol*

serverseitige skripte die eine xml api realisieren und im browser etwas javascript welches asynchron mittels XMLHttpRequest diese api nutzt. das ganze nennt man dann "ajax" (asynchronous javascript and xml). so funktioniert z.b. http://maps.google.com/ was ich fuer ne sehr geile webanwendung halte.

Ja, ich habe schon sehr viel über ajax gelesen, nur leider selber noch keine Zeit gehabt es persönlich mal zu testen. Das was ich gelesen hatte klang aber sehr überzeugend und ja: Google Maps ist definitiv eine sehr geniale Anwendung.

ich seh schon, du bist j2ee fan. smile soweit ich weiss legt die spezifikation kein protokoll zwischen client und server fest. in der regel wird das wohl http sein, aber ein xml-basierter webservice geht ja auch.

Oh ja und wie. Ich weiß nicht wieso, aber die ganzen Möglichkeiten von DAOs, EJBs, JSPs, JNLP, etc. sind einfach gigantisch und in kurzer Zeit gar nicht sinnvoll einsetzbar, weil man soviel damit anstellen kann.

dem threadstarter schwebt wahrscheinlich eher quick'n'dirty php gehacke vor. aber das machen ja alle (also alle die nicht was dickes wie j2ee brauchen ;-). was mir als alternativen in sachen serverseitige skriptsprachen und frameworks noch einfaellt ist:

Ja das finde ich traurig. Ich nehme das Wort selber ungern in den Mund, aber PHP ist meinen Augen ehrlich "Gefrickel". Das ist kein Vorurteil. Ich habe mal ein Projekt in PHP 4 angefangen. Der Code wurde selbst als ehemaliger C und C++ Programmierer absolut unübersichtlich und immer schwerer wartbar. Selbst das kleine Projekt, eine Online "Daten" Verwaltung nahm so locker 5000 Zeilen an innerhalb von 2 Monaten.

Wer so modular programmiert das er kleine Funktionen schreibt, die er dann öfter aufruft und unnötigen Balast von vorne rein weg lässt weiß, dass solche 5000 Zeilen bei einem Ein-Mann-Projekt schon sehr viel sind.

Irgendwann kam dann PHP5 raus. Dem wollte ich natürlich eine Chance geben. Aber selbst das, meiner Ansicht nach nur pseudo, objektorientierte PHP5 hat den Aufwand nicht sehr viel verringert. Durch mehr Wiederverwendbarkeit sparte ich so allenfalls 1000 Zeilen, wobei die Anzahl von Quelltext Dateien immens zunahm. Das frustrierte mich sehr.

Jetzt schreibe ich die Anwendung von Grund auf neu, in Java. JBoss ist ein sehr mächtiges Werkzeug, eigentlich viel mehr als das. Ich denke in Zeiten von DSL mit 40 KByte Upstream und Dyndns ist ein solches Vorhaben nicht schwer, zumal mein Apache auch immer auf meinem HomeServer lief.

Es dauert zwar, aber der Lohn ist die Mühe wert.

lg schlaflos
 
Original von Schlaflos
ich seh schon, du bist j2ee fan.
Oh ja und wie. Ich weiß nicht wieso, aber die ganzen Möglichkeiten von DAOs, EJBs, JSPs, JNLP, etc. sind einfach gigantisch und in kurzer Zeit gar nicht sinnvoll einsetzbar, weil man soviel damit anstellen kann.

hab das noch gar nicht richtig benutzt. vor langer zeit hab ich mal das jsp buch von o'reilly gelesen, aber sun denkt sich ja staendig was neues aus. irgendwie ziehts mich aber doch mehr zu den von mir oben genannten open-source techniken. speziell ruby on rails werd ich demnaechst mal ausgiebig testen. hab das schon mal kurz ausprobiert und war ziemlich beeindruckt. das skaliert wahrscheinlich auch besser als php auf grosse projekte, weil ruby ne richtige sprache mit richtigem oop ist und das ganze framework aufs model-view-controller-pattern ausgelegt ist.

Ich nehme das Wort selber ungern in den Mund, aber PHP ist meinen Augen ehrlich "Gefrickel".

bin auch kein wirklicher php fan. man kann ganz offensichtlich grosse projekte mit php bauen, wie man an sehr vielen beispielen sieht. aber oft wird dann der code so unwartbar, dass man ein sicherheitsloch nach dem anderen fixen muss. bestes beispiel phpbb.

Irgendwann kam dann PHP5 raus. Dem wollte ich natürlich eine Chance geben. Aber selbst das, meiner Ansicht nach nur pseudo, objektorientierte PHP5 hat den Aufwand nicht sehr viel verringert.

habs mir noch gar nicht angesehen. das was in php4 oop gennant wurde war ja wohl vollkommen laecherlich. aber trotzdem muss ich mir php5 mal ansehen. wenn mich jemand dafuer bezahlt das zu benutzen isses mir letztendlich egal. ;)
 
btw:

hier scheiden sich wohl die geister. ich selbst bin wohl momentan noch mehr der php "fan" oder nennen wir es lieber benutzer. der einstieg geht schnell innerhalb von einem wochenende für andere sprachen brauch man einfach mehr zeit. schaut man da auf asp.net(c# & vb.net) oder java brauch man schon wesentlich mehr zeit. am ende jedoch überzeugen diese durch ihre mächtigen fähigkeiten.
momentan jedenfalls bin ich wohl noch einer der "gefrickel" nutzt. in zukunft werde ich mich aber auch mal wieder mit der thematik java befassen.
 
Hallo,
@The Dude: Also die OOP-Engine von PHP4/5 reicht für die Einsatzzwecke von PHP (Webprogrammierung) so gut wie fast immer aus.
Es liegt meistens an den Programmieren, die keinen blaßen Schimmer von OOP haben.
Und für die meisten Projekte bedeutet OOP-Einsatz mehr Aufwand als Nutzen....
 
Original von Elderan
@The Dude: Also die OOP-Engine von PHP4/5 reicht für die Einsatzzwecke von PHP (Webprogrammierung) so gut wie fast immer aus.

hm, deine schreibweise php4/5 laesst mich vermuten, dass sich zwischen version 4 und 5 nicht so viel getan hat in sachen oop. aber keine kapselung is doch schon ne ziemliche einschraenkung find ich. wahrscheinlich weil ich oop nicht verstanden hab. ;)

das es nicht unbedingt notwendig ist seh ich auch so. ob man sich aber mit einer weniger maechtigen (nicht im sinne der turing-vollstaendigkeit sondern im sinne der ausdrucksmoeglichkeiten) sprache zufrieden geben sollte weil man "nur" webprogrammierung macht?
 
Also die OOP-Engine von PHP4/5 reicht für die Einsatzzwecke von PHP (Webprogrammierung) so gut wie fast immer aus.
Es liegt meistens an den Programmieren, die keinen blaßen Schimmer von OOP haben.
Und für die meisten Projekte bedeutet OOP-Einsatz mehr Aufwand als Nutzen....

Anspielung? o_O

Ich denke einfach Aufgrund mangelnder Editoren und schlechter Syntax ist PHP5 nicht so gut wie die von allen hier bereits aufgezeigten Alternativen. Selbst Dreamweaver oder PHP Eclipse PlugIns setzen Code Vervollständigung nicht sauber um und die Sprache ist mit seinen vielen assoziativen Arrays einfach nur ein Schman.

Natürlich hat jeder seine Vorlieben und um mal eben ein Gästebuch zu schreiben würde ich auch PHP aus der Tasche ziehen. Aber Wenn ich schon sehe das dieses Board hier in PHP geschrieben ist, bekomme ich eine Gänsehaut. Das ist massiv und erfordert echt eine Menge Aufwand, mehr als in anderen Sprachen.
 
Zurück
Oben