Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Banana-Coding.com - Java Knuddels Emulator. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Donnerstag, 5. April 2012, 00:49

Bad-Word filter

Hallo, ich habe im Chat einen bug gefunden, und Frage hiermit nun um Rat...
Sobald ein User sich den Nickname ,, _ " anlegt, und im Chat online geht, kann dieser User andere User anschreiben, aber die User können den User _ nicht Antworten.
Damit sowas nicht vorkommt, habe ich mir überlegt, einen Bad Word filter in der Registerpage einzubringen...
Oder gibt es vllt. etwas besseres, um Sonderzeichen zu deaktivieren?

Danke für jede Antwort :D

mfg Landor
Mein Fachgebiet:
- HTML
- PHP
- MySQL
- Perl

2

Donnerstag, 5. April 2012, 01:00

Richtig, natürlich darf man keine Nicks registrieren die den KCode von Knuddels stören können.

Dazu gehören z.B. ° _ §

Ausschließen kann man die zum Beispiel, indem man den Nick mit einem regulären Ausdruck auf Validität prüft.

Ein gutes Muster ist im RegServer als Beispiel schon enthalten!
Kein Support per PN. Nur im Forum!

Es haben sich bereits 3 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Nachto, Landor_Frostwolf, Steelix2011

3

Donnerstag, 5. April 2012, 04:14

Gibs irgendwelche Hintertür'chen, wenn ich das in der Registerpage einbaue?

[spoiler] if(!$nick) {
$errors .= '<br>- Du hast kein Nick angegeben.';
} else if($row[name] != '') {
$errors .= '<br>- Der Nick '.$nick.' ist bereits vergeben.';
} else if(strlen($nick) > 25) {
$errors .= '<br>- Dein Nick ist zu lang.';
} else if(!$pw) {
$errors .= '<br>- Du hast kein Passwort angegeben.';
} else if(strlen($pw) > 12) {
$errors .= '<br>- Dein Passwort ist zu lang.';
} else if(!preg_match("/^[a-zA-Z0-9]{4,25}$/",$nick))
{
$errors .= '<br>- Du verwendest unerlaubte Sonderzeichen in: '.$nick.'';
}
[/spoiler]

funktionieren tut es...
Mein Fachgebiet:
- HTML
- PHP
- MySQL
- Perl

4

Donnerstag, 5. April 2012, 10:09

Ja, gibt es: Ich könnte mir bei dir Nicks mit Leerzeichen anlegen. Das ist schließlich auch ein Inhalt. Aber sicher nicht gewünscht. (?)

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Steelix2011

Localhost

Ehemaliger Supporter

Beiträge: 345

Wohnort: 127.0.0.1

  • Private Nachricht senden

5

Donnerstag, 5. April 2012, 10:22

So wie sein Code derzeit aussieht, können keine Nicks mit Leerzeichen angelegt werden. Dazu müsste er [:space:] noch in die preg_match() Funktion hinzufügen.

Wieso sollten Leerzeichen nicht gewünscht sein?!
No support via message.

"Der gute Programmierer ist nicht der, der keine Fehler macht, sondern der, der seine Fehler rasch findet und behebt."

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Landor_Frostwolf

6

Donnerstag, 5. April 2012, 10:31

Ich mein damit Nicks mit ausschließlich Leerzeichen... xD

7

Donnerstag, 5. April 2012, 10:38

Localhost?
Könntest du mir noch eine Frage beantworten?
Kann ich in der /readme ,, ° " irgendwie sperren?
Damit kann man das ganze Profil verbuggen... Wenn man den Text: ,, /readme °30R°Be°30K°ispiel :-D " verwendet.
Mein Fachgebiet:
- HTML
- PHP
- MySQL
- Perl

8

Donnerstag, 5. April 2012, 10:40

Ich bin zwar nicht Localhost, aber vill hilft Dir das ja?
arg = arg.replaceAll("°[^°]+°", "");
vor dem setReadme setzen.

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Landor_Frostwolf

9

Donnerstag, 5. April 2012, 10:41

Bin mir nicht sicher, ob ich das beim Banana-Chat im KCodeParser eingefügt hatte, aber schau mal, ob da eine Methode ist, die escape heißt.
Tschüß.

10

Donnerstag, 5. April 2012, 10:44

hat geklappt :) danke... frage, wo genau im code füge ich weitere sperren ein? ich habs so probiert, aber _ geht immer noch...
arg = arg.replaceAll("°[^°_]+°", "");

Edit://
Logisch... habs wahrscheinlich selber xD

Edit://
Oder auch nicht.... könnte mir mal jemand den Code bitte sagen? :D

Edit://
Danke Plaxo ... Privatnachricht enthielt:
arg = arg.replace("_", "__");
Mein Fachgebiet:
- HTML
- PHP
- MySQL
- Perl

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Landor_Frostwolf« (5. April 2012, 11:03)