in reply to Testing for a firewall

Hmmmm, If you want to be able to connect to them on ports 3380 and 3389, i would probably use IO::Socket and open a connection with a short (maybe 10 sec ?) timeout, and then use the return code to say if the ports are open. About the only real way i can think of.

but, if i am confussed, and i am quite a bit lately, and you want to find out if they could connect to you ... i am not sure of anyway ... but, i am not a CGI programmer.

Update : Could you possibly pop another browser window to another http server on port 3380 of you machine (or any machine) and ask the user to confirm that that has loaded ? but, beware, users lie
can't sleep clowns will eat me
-- MZSanford