Contact Form Processing Products - for all your needs

FormMail • Form Encryption • Hosted Forms

SOCKET_FILTERS Setting

This page documents the SOCKET_FILTERS configuration setting in FormMail.

Type Of Setting

SOCKET_FILTERS is an OPTIONAL setting, which means...

OPTIONAL : you can change this setting if you need to, but the default value is fine for most circumstances.

Précis

Defines filters available via HTTP or HTTPS.

Description

Set SOCKET_FILTERS to filter programs you want to access via HTTP or HTTPS connections.

Server Restrictions

Some server setups prevent the execution of external programs. Provided you can execute cgi-bin programs from a web browser (i.e. an HTTP connection), we've provided a workaround for this situation. FormMail can execute your cgi-bin filter program using an HTTP (or, if your PHP is configured correctly, an HTTPS) connection.

Accessing FormMailEncoder

SOCKET_FILTERS is supported by FormMailEncoder (fmencoder) version 1.4 and above only.

To execute fmencoder via HTTP, do this:

  1. Change the "site" value for "httpencode" to your site's web address.
  2. Upload your public key to the file "pubkey.txt" in your cgi-bin directory (or change the "file" setting in the "params" value).
  3. Add this hidden field to your HTML form:
    <input type="hidden" name="filter" value="httpencode" />

This is still secure because the information never leaves your server in clear text form. However, if you need to execute fmencoder on another server (i.e. a server different from the one that has your FormMail script), you need to use the "sslencode" filter instead of the "httpencode" filter. Contact us for assistance if you require this.

Default Value

$SOCKET_FILTERS = array(
    "httpencode"=>array("site"=>"YourSiteHere",
      "port"=>80,
      "path"=>"/cgi-bin/fmencoder",
      "params"=>array(array("name"=>"key",
      "file"=>"$REAL_DOCUMENT_ROOT/cgi-bin/pubkey.txt"))),
    "sslencode"=>array("site"=>"ssl://YourSecureSiteHere",
      "port"=>443,
      "path"=>"/cgi-bin/fmencoder",
      "params"=>array(array("name"=>"key",
      "file"=>"$REAL_DOCUMENT_ROOT/cgi-bin/pubkey.txt"))),
    );

Examples

$SOCKET_FILTERS = array(
    "httpencode"=>array("site"=>"www.mysite.com",
      "port"=>80,
      "path"=>"/cgi-bin/fmencoder",
      "params"=>array(array("name"=>"key",
      "file"=>"$REAL_DOCUMENT_ROOT/cgi-bin/pubkey.txt"))),
    "sslencode"=>array("site"=>"ssl://secure.mysite.com",
      "port"=>443,
      "path"=>"/cgi-bin/fmencoder",
      "params"=>array(array("name"=>"key",
      "file"=>"$REAL_DOCUMENT_ROOT/cgi-bin/pubkey.txt"))),
    );

See Also