Shadowd::Connector::CGI - Shadow Daemon CGI Connector


Version 2.0.0


Shadow Daemon is a collection of tools to detect, record and prevent attacks on web applications. Technically speaking, Shadow Daemon is a web application firewall that intercepts requests and filters out malicious parameters. It is a modular system that separates web application, analysis and interface to increase security, flexibility and expandability.

Shadowd::Connector::CGI is the Shadow Daemon connector for Perl CGI applications. The module operates fully automatic and only has to be loaded/used to start its task.



This method is a simple constructor for an object oriented interface. It requires a CGI object as parameter.


This method returns the IP address of the client from the environment. The default key is REMOTE_ADDR, but if you are using a reverse proxy you have to change the key via the configuration file.


This method returns the caller from the environment. The default key is SCRIPT_FILENAME, i.e. the executed Perl script.


This method returns the request resource.


This method gathers the user input with the help of the CGI module. The CGI module gets the user input from the environment.


This method defuses dangerous input by overwriting the environment of the script.


This method gathers cryptographically secure checksums of the executed script.


This method simply prints an error message.


Hendrik Buchwald, <>


Please report any bugs or feature requests to, or through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

It is also possible to report bugs via Github at


You can find documentation for this module with the perldoc command.

    perldoc Shadowd::Connector

You can also look for information at:


Shadow Daemon -- Web Application Firewall

Copyright (C) 2014-2016 Hendrik Buchwald <>

This file is part of Shadow Daemon. Shadow Daemon is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see