Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Yes, you are correct. There should be a PHP file below the web root that will access the secured PHP files above the web root. In Zend Framework, there is a single index.php file, called the bootstraper, which does many things including:</p> <ul> <li>set the error display level</li> <li>set the include paths</li> <li>define global constants</li> <li>read the configuration files</li> <li>load the library classes</li> <li>get the front controller</li> <li>configure the database connection</li> <li>determine the route, per RESTful url's, and MVC</li> <li>set Exception handling</li> <li>call the requested controller</li> </ul> <p>I would highly suggest using an MVC framework, they are industry standard, and have pre-built functionality for many common problems including secure logins. Zend Framework implements Access Control Lists style security, though you can easily role your own. Other notable frameworks are Drupal, Yii, Codeigniter, Symphony, CakePHP, and Joomla.</p> <p>Other best practices for security are:</p> <ul> <li>filter all file uploads based on mimetype, NOT file extension or filetype</li> <li>filter all POST and GET data, based on the database table column type and length</li> <li>sanitize all SQL strings before running them</li> <li>change all the default login passwords on your servers, ex: Apache, MySQL, FTP, SSH, SVN, etc.</li> <li>learn how to configure php.ini, httpd.conf, etc.</li> <li>disable any services, modules, and plugins, not being used in your framework, PHP, Apache, and MySQL</li> <li>fuzz your code</li> <li>use unit tests</li> <li>learn a bit about penetration testing</li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload