README

## PHPSECINFO
*Now on GitHub*
_see LICENSE for copyright and license info_
Mailing List for bug reports, feedback, etc:
http://lists.phpsec.org/mailman/listinfo/phpsecinfo
### WHAT IS PHPSECINFO?
PHPSecInfo is a PHP environment security auditing tool modeled after the
phpsecinfo() function. From a single function call, PHPSecInfo runs a
series of tests on your PHP environment to identify potential security
issues and offer suggestions. It can be useful as part of a multilayered
security approach.
#### WHAT IS PHPSECINFO NOT?
* It is not a replacement for secure coding practices
* It does not audit PHP code
* It is not comprehensive test for either your hosting environment
or your web application
* It is not the "final word." PHPSecInfo identifies *potential* problems
and offers suggestions for improvement. Your environment may _require_
certain settings that trigger cautions or warnings.
### HOW DO I USE PHPSECINFO?
The simplest way:
* Uncompress and upload the contents of the archive to your web server's
document root
* Open a browser and view the index.php file where you've uploaded the files
(probably something like http://www.yourdomain.com/phpsecinfo/index.php)
### WHAT DO I DO IF I GET A NOTICE OR WARNING?
Read the explanation of the result carefully. Research the issue on-line
-- resources like the php.net official docs and the PHP Security Guide are
very useful. Investigate why your environment is set up in such a way. If
there's not a compelling reason to keep it as-is, you should probably
A by no means comprehensive list of resources to get your started:
Web Sites:
http://www.php.net/manual/en/security.phphttp://phpsec.org/projects/guide/
Books:
http://phparch.com/pgpshttp://phpsecurity.org/http://apachesecurity.net/
### HOW CAN I CUSTOMIZE THE OUTPUT OF PHPSECINFO?
PHPSecInfo is intended to be used as a self-contained tool. However, you
can obtain the test results in an array and then present this data in your
preferred format.
Example:
<code>
require_once('PhpSecInfo/PhpSecInfo.php');
// instantiate the class
$psi = new PhpSecInfo();
// load and run all tests
$psi->loadAndRun();
// grab the results as a multidimensional array
$results = $psi->getResultsAsArray();
echo "<pre>"; echo print_r($results, true); echo "</pre>";
// grab the standard results output as a string
$html = $psi->getOutput();
// send it to the browser
echo $html;
</code>
### HOW CAN I OFFER FEEDBACK, REPORT BUGS, COMPLAIN, ETC.?
The best way is to subscribe to and post on the PHPSecInfo Mailing List:
http://lists.phpsec.org/mailman/listinfo/phpsecinfo