Themen mit http nicht zulassen
Themen mit http nicht zulassen
Hi,
kann ich irgendwie verhindern, dass Themen und Antworten mit URLs geschrieben werden?
Am liebsten wäre mir, eine Fehlermeldung wird angezeigt, wenn jemand versucht eine Antwort/ein Thema mit URL zu speichern.
Gruss
Holger
kann ich irgendwie verhindern, dass Themen und Antworten mit URLs geschrieben werden?
Am liebsten wäre mir, eine Fehlermeldung wird angezeigt, wenn jemand versucht eine Antwort/ein Thema mit URL zu speichern.
Gruss
Holger
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Man könnte mittels preg_match vorhandene URL-Tags im Post zählen lassen und bei einem Ergebnis dann meckern.
Also sowas in der Art:
Möglich wäre auch:
Einbauen würde ich das in der posting.php direkt vor der Zeile mit
Ansonsten müsste man in der bbcode.php in der Funktion make_clickable zusätzlich alle umgesetzten Links zählen, sofern diese eben vorhanden sind.
Da müsste ich mir aber nochmal eingehender Gedanken machen, was da zu tun wäre.
Oder Du baust die Formatierung aus der viewtopic.php einfach aus...
Also sowas in der Art:
Code: Alles auswählen
if (preg_match("/\[url/", $message))
{
message_die(GENERAL_MESSAGE, 'Keine Links posten!');
}Code: Alles auswählen
if (strpos($message, "[url"))
{
message_die(GENERAL_MESSAGE, 'Keine Links posten!');
}Code: Alles auswählen
prepare_post(...);Da müsste ich mir aber nochmal eingehender Gedanken machen, was da zu tun wäre.
Oder Du baust die Formatierung aus der viewtopic.php einfach aus...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Ok, muss ich wirklich eine 2. Prüfung machen oder würde z.B.
reichen?
Code: Alles auswählen
if (strpos($message, "http"))
{
message_die(GENERAL_MESSAGE, 'Keine Links posten!');
}- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Nicht wirklich, da man ja Links auch nur mit www.oxpus.de posten kann, also ohne http.
Vielleicht wäre es geschickter, selbst bei diesen vielen Prüfungen einen Zähler zu verwenden, also vor der ersten URL-Prüfung auf 0 und mit jeder Regel eins hochzählen.
Und nach der letzten Regel prüfen, ob der Zähler > 0 ist und dann die Meldung ausgeben.
Was anderes geschieht ja in der bbcode.php mit den unterschiedlichen Link-Formen ja auch nicht beim Formatieren...
Vielleicht wäre es geschickter, selbst bei diesen vielen Prüfungen einen Zähler zu verwenden, also vor der ersten URL-Prüfung auf 0 und mit jeder Regel eins hochzählen.
Und nach der letzten Regel prüfen, ob der Zähler > 0 ist und dann die Meldung ausgeben.
Was anderes geschieht ja in der bbcode.php mit den unterschiedlichen Link-Formen ja auch nicht beim Formatieren...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Da die Spambots fast immer links mit http posten reicht das ja.
Könnte ich sonst ganz stupide auch
verwenden?
Könnte ich sonst ganz stupide auch
Code: Alles auswählen
if (strpos($message, "http"))
{
message_die(GENERAL_MESSAGE, 'Keine Links posten!');
}
if (strpos($message, "www"))
{
message_die(GENERAL_MESSAGE, 'Keine Links posten!');
}
prepare_post(...);- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Ja, das ginge auch. Vergrössert aber dabei das Script, welches der Server ja komplett laden muss.
Aber funktionabel...
Aber funktionabel...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Ich habe
eingesetzt. Trotzdem werden z.B. www.test.de nicht angemeckert!
/Holger
Code: Alles auswählen
if (strpos($message, "http"))
{
message_die(GENERAL_MESSAGE, 'Keine Links posten!');
}
if (strpos($message, "www"))
{
message_die(GENERAL_MESSAGE, 'Keine Links posten!');
}
prepare_post(...);/Holger
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
http://www.mysqldumper.de
http://www.mysqldumper.se
- Bootenks
- Beiträge: 1836
- Registriert: Sa 29.Mai, 2004 23:36
- Wohnort: G?rlitz (?stlichste Stadt Deutschlands)
Och Leute... Sowas macht man doch nicht...
strpos gibt beim Fund die Stelle als int zurück und im negativen Fall den BOOLEAN Wert FALSE!
Klar ihr denkt, dass wenn er nichts findet da gar nicht reingeht und wenn er was findet die Zahl als TRUE wertet! Dem ist aber nicht in allen Fällen so. Um genau zu sein klappt das bei einem Wert nicht: 0 Wenn man in einer Bedingung nur 0 stehen hat, bedeutet dieses FALSE! Sprich diese Stelle spuckt euch in die Suppe. *grins*
strpos gibt beim Fund die Stelle als int zurück und im negativen Fall den BOOLEAN Wert FALSE!
Klar ihr denkt, dass wenn er nichts findet da gar nicht reingeht und wenn er was findet die Zahl als TRUE wertet! Dem ist aber nicht in allen Fällen so. Um genau zu sein klappt das bei einem Wert nicht: 0 Wenn man in einer Bedingung nur 0 stehen hat, bedeutet dieses FALSE! Sprich diese Stelle spuckt euch in die Suppe. *grins*
Nur ein Informatik Student. ^^
- Bootenks
- Beiträge: 1836
- Registriert: Sa 29.Mai, 2004 23:36
- Wohnort: G?rlitz (?stlichste Stadt Deutschlands)
Ich und Schlaumeier :P Hier führen viele Wege nach Rom... So würde es z.B. gehen:
funktionieren :P
Naja ich würde es aber an deiner Stelle lieber mit reg. Expression machen
Edit:
jetzt hab ich dir das Bsp unterschlagen.. :P nicht, dass ich noch ein Drückeberger bin :P
Code: Alles auswählen
!stristr($message, "http") === FALSENaja ich würde es aber an deiner Stelle lieber mit reg. Expression machen
Edit:
jetzt hab ich dir das Bsp unterschlagen.. :P nicht, dass ich noch ein Drückeberger bin :P
Code: Alles auswählen
eregi("http|www", $message)
Zuletzt geändert von Bootenks am Mo 20.Nov, 2006 13:21, insgesamt 1-mal geändert.
Nur ein Informatik Student. ^^
UND??????????????? WIE???????????
Oder: wie kann ich
mit dem anderen kombinieren?
EDIT:
Also:
Oder: wie kann ich
Code: Alles auswählen
!stristr($message, "http") === FALSEEDIT:
Also:
Code: Alles auswählen
if (eregi("http|www", $message))
{
message_die(GENERAL_MESSAGE, 'Keine Links posten!');
}
prepare_post(...);
Zuletzt geändert von Holger am Mo 20.Nov, 2006 13:26, insgesamt 2-mal geändert.