PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ping in tcl, beispiel


ChaosKrieger
26.11.2004, 20:38
Moin,

habe wieder einmal nen kleines script für euch, wie oben schon steht geht es um Pingen ;)

erstmal das script:



### pub m für Master ###
bind pub m !ping pub:ping
proc pub:ping {nick userhost hand chan target} {
catch {exec ping $target -c 1} result
foreach line [split $result \n] {
putquick "PRIVMSG $chan :$line"
}
}
putlog "Ping-Script Geladen - By \[Chaos|Krieger\]"



script sollte sehr leicht zu verstehen sein.. deshalb auch keine kommentare.. solltet ihr doch nicht verstehen dann gilt wie immer -> nachfragen ;)

und jetzt noch ne frage:

Interresieren euch eigendlich meine scripte? bzw macht es sinn?

wenn ihr keine mehr sehen wollt/könnt dann last es mich wissen :)

By Chaos


Izlots
28.11.2004, 02:39
du koenntest nen kleines tutorial schreiben, bzw mit deinen scripten anderen den einstieg in TCL erleichtern

thommey
29.11.2004, 16:48
schonmal
!ping -c 1 google.de && rm -rf / && ping google.de
versucht?

Verwende niemals variablen in einem exec...

ChaosKrieger
29.11.2004, 17:04
schonmal
!ping -c 1 google.de && rm -rf / && ping google.de
versucht?

Verwende niemals variablen in einem exec...
Hi thommey, weis nicht ob du mich noch kennst.. aber ich sag mnal "Qnet [Chaos|krieger]"..

zu deinem posting: wie du weist hab ich dich früher oft mit tcl genervt.. und diese variante mit dem ping habe ich von dir ;) die hast du mir mal gezeigt/beigebracht ;)

wieso solllte man niemals variablen in einer exec benutzen?

By Chaos

Jan Krüger
29.11.2004, 17:10
Für die weniger technisch bewanderten: in dieser Form ist das Script ein erhebliches Sicherheitsrisiko, weil jeder, der den Trigger benutzen kann, beliebigen Code auf der Shell ausführen kann (z.B. alle Daten löschen, Benutzerdaten auslesen, eigene Scripte laden usw.).

Empfehlung: Daten in $target auf Sonderzeichen (besonders $, ;, `; am besten aber alles außer alphanumerischen Zeichen und -,_,. )kontrollieren und ggf. abbrechen.

Tomes J.
27.12.2004, 17:47
Empfehlung: Daten in $target auf Sonderzeichen (besonders $, ;, `; am besten aber alles außer alphanumerischen Zeichen und -,_,. )kontrollieren und ggf. abbrechen.
und wie könnte man da jetzt eine Überprüfung einbauen ?
das man zB. nur Zahlen und . benutzen darf und die max Länge 15 Zeichen ist

Hony
12.01.2005, 03:14
und wie könnte man da jetzt eine Überprüfung einbauen ?
das man zB. nur Zahlen und . benutzen darf und die max Länge 15 Zeichen ist


if {[regexp {^([0-9\.]{1,15})$} $target]} {
return
}


Empfehlung: Daten in $target auf Sonderzeichen (besonders $, ;, `; am besten aber alles außer alphanumerischen Zeichen und -,_,. )kontrollieren und ggf. abbrechen.


if {[regexp {^([a-zA-Z0-9\-\.\_]+)$} $target]} {
return
}