I am wondering, there are a few files I have kept outside of the root directory in a different directory and I am trying to use a HTML form to post info to a php file that s
On my website, every form I start with this code:
This avoids the need for multiple proxy scripts because action.php
will use the value of the hidden field to determine which php file should be called. Don't call the hidden field action
if you post the form using Ajax because it can cause a conflict. Also, I have set the .htaccess
file to remove the php extension, so you may need to add .php
to action
in your HTML code.
Here is action.php
:
if (!empty($_POST['i-action']))
{
$action = str_replace('.', '', $_POST['i-action']);
$action = str_replace('/', '', $action);
if (file_exists("../secret/directory/structure/$action".'.php'))
require_once("../secret/directory/structure/$action".'.php');
}
I used str_replace
to ensure hackers can't traverse to a different directory.