diff options
Diffstat (limited to 'web/nms.gathering.org/api/public/location')
-rwxr-xr-x | web/nms.gathering.org/api/public/location | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/web/nms.gathering.org/api/public/location b/web/nms.gathering.org/api/public/location new file mode 100755 index 0000000..b940007 --- /dev/null +++ b/web/nms.gathering.org/api/public/location @@ -0,0 +1,44 @@ +#! /usr/bin/perl +# vim:ts=8:sw=8 + +use lib '../../../../include'; +use nms::web; +use strict; +use warnings; +use Data::Dumper; + +#my $query = $nms::web::dbh->prepare("select * from switches where '185.110.150.7' << subnet4"); +my $query = $nms::web::dbh->prepare("select * from switches where ? << subnet4 or ? << subnet6"); + +print "Cache-Control: max-age=0"; +print "Content-Type: text/html"; +print "\n\n"; + +# get user ip from somewhere. +# HTTP_X_FORWARDED_FOR is set by varnish. When using varnish, the REMOTE_ADDR will always be localhost. + +my @xff = split(",",$ENV{HTTP_X_FORWARDED_FOR}); +my $addr = $xff[0] // $ENV{REMOTE_ADDR}; + +$query->execute($addr,$addr); + +# add start html: header + body etc. +print " +<html> + <body style=\"text-align: center; font-size: 50pt;\"> +"; + +# print address +print "" . $addr ."<br \>"; + +# print switch name and distroname. +while ( my $ref = $query->fetchrow_hashref() ) { + print $ref->{sysname}. " @ " . $ref->{distro}; + print "<br />"; +} + +# add end html +print " + </body> +</html> +"; |