| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Sicherheit eines JAVA-Chats mit Datenbank im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi Leute, mein Kumpel & me wollen ne kleine Community erschaffen. Diese sollte auch einen Chat haben. Mit Chats ...
![]() |
| | #1 (permalink) |
| Anzeige Hi Leute, mein Kumpel & me wollen ne kleine Community erschaffen. Diese sollte auch einen Chat haben. Mit Chats ist das ja immer so eine Sache. Da ich mich mit PHP gut auskenne, würde ich das Teil gern in PHP schreiben - er hingegen schwört auf einen JAVA. Allerdings kann ich mir nicht vorstellen, dass dieser genauso sicher sein soll wie z.B. ein PHP Chat mit MySQL-Datenbank. Denn bei Java ist es dem geübten User möglich (mit Hilfe eines Decompilers) an den Quellcode zu kommen. Da ich mich mit Java nunmal überhaupt noch net auskenne, wollte ich mal eure Meinungen dazu hören. Wie sicher ist eigentlich ein Java Chat der eine Datenbank nutzt? Gern auch Möglichkeiten, wie man einen Java-Chat sicher / sicherer machen kann und was Tipps, man vermeiden sollte. THX :D
__________________ Major Fault, General Error and Colonel Panic came together to celebrate timeout. ------------------------------------------------ http://www.shick.de/ ------------------------------------------------ | |
| | |
| | #2 (permalink) |
| Ich denke PHP ist hier die bessere Lösung. Für Java braucht der User erstmal das Plug-In und du musst jedemenge Sicherheitsbeschränkungen (Sandbox) beachten, wenn du das Applet (oder solls was anderes sein? WebStart z. B.) nicht signieren willst. btw: für was brauchst du bei nem Chat ne Datenbank? Und du kannst mal suchen, irgendwo im Netz gibts den Code für einen Java-Chat (falls ihr euch doch dafür entscheidet und Probleme habt) | |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Registriert seit: 13.11.04 ![]() Likes: 0 | erst mal ist der wesentliche unterscheid, dass java auf dem client laeuft und php auf dem server. warum du meinst, die sicherheit waere gefaehrdet, weil jemand den quellcode einsehen kann ist mir nicht ganz klar. soll das java applet eine verbindung zur datenbank aufbauen? das wuerde ich lieber lassen. dann musst du den datenbankserver so konfigurieren, dass er verbindungen von ueberall annimmt, was imho ein vermeidbares sicherheitsrisiko darstellt. und in dem fall ist es natuerlich auch schlecht wenn der benutzer an den quellcode rankommt, falls da das passwort hardcodiert ist. ausserdem find ich, wie Gottzilla auch schon gesagt hat, sollte man versuchen die funktionalitaet einer webseite von so wenig wie moeglich auf seite des clients abhaengig zu machen. bei nem php-basierten chat sieht der benutzer ja nur einfaches html. bei dem php-zeux musst die bei einem chat, wie ueberall auch wo du vom client geschickte daten verarbeitest vorsichtig sein. lege fest welche zeichen erlaubt sind und filtere alle anderen weg. nicht andersrum, dabei vergisst man leicht was. z.b. reichen zahlen, klein und grossbuchstaben und ein paar sonderzeichen fuer smileys fuer einen chat. die php funktionen strip_tags(), htmlentities() und urlencode() koennten dabei hilfreich sein. wenn du einfach die daten vom benutzer ungefiltert verarbeitest kannst du dir sql injection und cross-site scripting loecher einhandeln. |
| | |
| | #4 (permalink) |
| Senior Member Registriert seit: 18.09.05 ![]() Likes: 0 | Grundsätzliche Frage, ist es intelligent einen Chat in PHP zu schreiben? Wie soll das gehenen? Wir dann einfach per js ein frame alle 0.5 sekunden ge-reloadet? Macht das nicht eine riesige Serverbelastung? Ist ein Server überhaupt schnell genug für sowas? |
| | |
| | #5 (permalink) | |
| Registriert seit: 18.07.05 ![]() Likes: 0 | Zitat:
![]() 0,5 Sekunden? Ich würde ja das Minimum auf 2 Sekunden, und das Maximum auf 5 Sekunden legen So frei einstellbar ![]() Eventuell könnte man auch über 1.5 Sekunden nachdenken, aber schneller sollte das auf keinen Fall sein. Und mehr braucht man auch nicht unbedingt, würd ich sagen.. edit: Und um Serverauslastung zu sparen, könnte man ja, wenn beispielsweise eine "Away"-Funktion benutzt wird, den Updatetimeout erhöhen, z.B. von 1.5 Sekunden auf 2 oder 2.5 Sekunden. Und natürlich auch automatisches Away-Setzen nach einer bestimmten Zeit... | |
| | |
| | #6 (permalink) |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | warum macht ihr nicht auf nem irc server nen channel auf und nutzt einen java-client dafuer? |
| | |
| | #7 (permalink) | |
| Registriert seit: 18.07.05 ![]() Likes: 0 | Zitat:
| |
| | |
| | #8 (permalink) | |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | Zitat:
| |
| | |
| | #9 (permalink) |
| Zum Thema Sicherheit: Sollte das Passwort wirklich Hardcoded im Quelltext sein, kommste da leicht ran (auch wenn de vorher obfuscatoren benutzt hast). Was mir aber immernoch unklar is, warum brauchst du ne DB anbindung? | |
| | |
| | #10 (permalink) | |
| Themenstarter | erstmal danke für die vielen Antworten.. ![]() @gottzilla - Irgendwo muss man doch die Userprofile, Userpasswörter usw speichern... oder? @soox - jo -IRC wäre ne möglichkeit - allerdings hat dann wieder nur die möglichkeit, die IRC bietet und kann selber nix hinzufügen.... Auserdem wäre da der ganz Spaß bei der Programmierung weg.... @Malo - so hatte ich mir den Chat auch vorgestellt - php mit DB & metarefresch bzw. per JS den Refresch... @dude Zitat:
![]() ---------- Wegen n Code für n Java chat - ich hab z.B. knuddelsl - das sieht dann z.B. so aus: MFC <- achtung - hässliche Website Abgesehen davon, das es geld kostet, kann ich mir nicht vorstellen, das soetwas wirklich sicher ist. ![]() cya...
__________________ Major Fault, General Error and Colonel Panic came together to celebrate timeout. ------------------------------------------------ http://www.shick.de/ ------------------------------------------------ | |
| | |
| | #11 (permalink) |
| Moderator ![]() Registriert seit: 30.03.04 ![]() Likes: 14 | Hallo, also sofern du an die php.ini bzw. SafeMode Off ist, würde ich in PHP eine Endlosschleife programmieren. Pro durchlauf fragt diese die Datenbank ab, und gibt ggf. den neuen Eintrag aus (Stichwort: flush(); ). Danach wird sie für xxx (Mirco)-Sekunden schalfengelegt. Der User sieht dann zwar am Ladebalken, dass diese Seite noch nicht 'fertig' geladen ist, aber dennoch kann er schon Beiträge schreiben und es werden welche Ausgegeben. Einen Reload ist die schlechteste Lösung. Denn schon bei sehr wenig Personen verursacht das extremen Traffic (kenne Statistiken dazu), dazu kommt dann meistens noch das gehopse der Einträge und so weiter. Entweder eine Endlosschleife per PHP, oder eine Verbindung (Schleife für z.B. 30 Sekunden, dann reload). Alles andere kannst du vergessen. Aber PHP ist nicht die wirklich Wahl für einen Chat. Was ich dir empfehlen würde, wäre ein Java-Chat mittels IRC. -Schont den Server -Man kann auch mit IRC Tools (z.B. mIRC) sich einloggen -Kein Passwort für Datenbank nötig. -Keine extremviele Datenbankabfragen -Viele vorgefertigte Chat-Lösungen -Man kann fremde IRC-Server (z.B. Quakenet) kostenlos benutzen. Also ich denke mal Java-Appelt + IRC-Server wird die beste Lösung sein, und so hat jedes OS Möglichkeit sich am Chat zu beteiligen. |
| | |
| | #12 (permalink) |
| Wenn de mit Java über php in ne DB schreibst, kannstes auch gleich in php schreiben. Joa, verschlüsselt irgendwo inner Datei am besten irgendwo mittendrin mitsamt jeder menger anderen kram, da dürfts eigentlich sicher sein. Dann noch über die Klasse n obfuscator drüberlaufen lassen, damit der lese-algo n bisschen unübersichtlicher wird und nochn Copyright verhängen, dass de ja im Fall der fälle denjenigen wenigstens verklagen kannst Java ansich is für nen Chat opti geeignet, aber von ner DB anbindung in nem Applet würd ich wie gesagt die Finger lassen (schon allein weilde des dann signieren müsstest und da haste dann nur 2 Möglichkeiten: 1. selber signieren, da wird dann aber nurn lebensmüder zustimmen oder 2. sich für teuer geld bei ner Firma signieren lassen). Wobei ich jetzt bestimmt scho zum 100. mal frag für was du ne Datenbank bei nem Chat brauchst!? Willst alles geschriebene mitloggen | |
| | |
| | #13 (permalink) |
| Registriert seit: 13.11.04 ![]() Likes: 0 | technisch gesehen ist java/irc wohl ne gute loesung. allerdings hat man dann nix zu hacken und der chat ist etwas "entkoppelt" von der community, die ja hauptsaechlich durch die datenbank realisiert ist. ne imho sehr interessante alternative mit grossartigem hack value ist das ganze mit der "ajax" methode zu machen. http://de.wikipedia.org/wiki/AJAX |
| | |
| | #14 (permalink) |
| Themenstarter | @Elderan - klingt interessant. Nur der Safemod is leider an Traffic sollte kein Probelm sein - wir haben auf unserem Serverpart keine Trafficbegrenzung. Ab mit ner Schleife von 30 Sek oder so das müsste möglich sein.... ![]() @Gottzilla - nein natürlich nicht ![]() @all das soll ein komplettes Community System werden, d.h. mit Userprofilen, Forum, Chat, privaten Messages usw. D.h. wenn der User sich einmal registiert hat, kann er alles nutzen. Und es sollten auch nur registierte User den Chat nutzen können. Bei IRC wäre wieder das Probelm, wie man das Login gestaltet. Bei IRC gibts ja nur die Möglichkeit, n Channel mit PW zu versehen - nur dann müsste man das Script so schreiben, das es die Userdaten mit denen in der DB vergleicht und dann sich mit dem Passwortgeschützeten Channel verbindet. ![]() Oder gibts da noch ne andere, effektivere oder bessere Möglichkeit?!? ![]() Wie haben die das eigentlich dann gemacht? Haben die einen Java Server am laufen? Weil IRC scheint es nicht zu sein. ![]() cya
__________________ Major Fault, General Error and Colonel Panic came together to celebrate timeout. ------------------------------------------------ http://www.shick.de/ ------------------------------------------------ |
| | |
| | #15 (permalink) |
| hi, vorweg würde ich erstmal sagen das euer provider evtl ärger machen könnte. viele verbieten serverlastige anwendungen wie zB chats bei kleineren paketangeboten. in java kann man das realisieren jedoch nicht auf der client seite sondern auf der serverseite(server appletts). hierzu wäre dann soweit mir bekannt ein eigener root server erforderlich oder application server. das würde aber sicherlich euer budget sprengen. ich wollte es nur mal als alternative erwähnen mfg bugbuster | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Sicherheit für Access Datenbank | Jahn | (In)security allgemein | 8 | 23.08.09 07:55 |
| Java: erzeugen eines index | Metathron | Code Kitchen | 0 | 04.04.05 17:12 |
| sicherheit eines proxys | eQuin | Internet Allgemein | 8 | 28.09.04 02:18 |
| Sicherheit eines WLANs auf welchen Ebenen? | scratchy | Network · LAN, WAN, Firewalls | 3 | 23.06.04 14:58 |