CGI: Bestimmte Namen verbieten
Jutta Rosenbach
0 Cheatah0 Stefan Muenz0 Jutta0 Frank Schönmann
Hallo Ihr Lieben,
zwar weiß ich, wie ich EINEN einzelnen Begriff sperren kann, aber wie könnte ich auf einen Schlag verhindern, daß als Name einer aus einer ganzen Liste mit Unnamen, Falschen Namen und Schimpfwörtern eingetragen werden kann?
Wenn sich also jemand entweder mit "Test", Helmut Kohl, Webmaster oder Rosenbach anmeldet, soll er zur Antwortkriegen: "Netter Scherz" und der Curser soll sich dann auf das betreffende Feld (z.B. "Name") setzen.
Benötigt wird sowas im Prinzip überall dort, wo User sich eintragen können: Chat, Forum, Gästebuch usw.
Ich finde es nämlich sehr ärgerlich, wenn ich was für eine bestimmte Zielgruppe liebevoll einrichte und dann wird das für Tests mißbraucht.
Vielen Dank für Eure Aufmerksamkeit. Über eine Antwort würde ich mich sehr freuen.
Jutta U. Rosenbach
Hi,
ich habe für einen solchen Zweck einmal eine Datei mit verbotenen Begriffen erstellt (forbidden.txt). Ich lese dann zeilenweise ein, prüfe auf Gleichheit (wahlweise Wortbeginn (Test2)) und setze ggf. eine flag-Variable. Das ganze sind 5 oder 6 Codezeilen, unabhängig von der Zahl der Wörter. Danach folgt nur noch "if (flag == 1) { &netterScherz; }", und das war's!
Cheatah
Hallo Jutta,
Wenn sich also jemand entweder mit "Test", Helmut Kohl, Webmaster oder Rosenbach anmeldet, soll er zur Antwortkriegen: "Netter Scherz" und der Curser soll sich dann auf das betreffende Feld (z.B. "Name") setzen.
Am besten sammelst Du alle unerwuenschten Eingaben in einem Array:
var Unworte = new Array("Kohl","Webmaster","Rosenbach");
und dann eine Funktion:
function checkUnwort() {
flag = 0;
for(i = 0; i < Unworte.length; i++)
if(document.Formular.Feldname.value == Unworte[i])
flag = 1;
if(flag == 1) return true;
else return false;
}
Die Funktion gibt also true zurueck, wenn eines der Unworte eingegeben wurde, und false, wenn nicht.
viele Gruesse
Stefan Muenz
Hallo Stefan und Cheatah
Vielen Dank für Eure Hilfe
Gruß
Jutta
hi!
zwar weiß ich, wie ich EINEN einzelnen Begriff sperren kann, aber wie könnte ich auf einen
Schlag verhindern, daß als Name einer aus einer ganzen Liste mit Unnamen, Falschen
Namen und Schimpfwörtern eingetragen werden kann?
Stefan hat schon geantwortet, wie es mit Javascript funktioniert. Hier noch eine passende Perl-Funktion:
open DATEI, "<unworte.txt";
while (<DATEI>)
{
if (/^$user$/) { &tu_irgendwas; }
}
close DATEI;
In $user steht natürlich der eingegebene Username, in der Datei unworte.txt alle Namen, die nicht verwendet werden dürfen.
bye, Frank!
Hallo Frank,
Stefan hat schon geantwortet, wie es mit Javascript funktioniert. Hier noch eine passende Perl-Funktion:
Auch Dir herzlichen Dank für für Deine Hilfe
Gruß
Jutta