【发布时间】:2014-04-01 12:07:38
【问题描述】:
我有一个包含此代码的表单:
<form action="/directory/" method="POST" target="_blank">
<input name="hello" type="hidden" value="something"/>
<input name="there" type="hidden" value="something"/>
在/directory/ 文件夹中,我放置了一个index.php 文件,用于处理表单,代码如下:
<?php
if(isset($_POST['hello']));
switch ($_POST['hello']) {
case "1":
$var1 = "word1";
break;
case "2":
$var1 = "word2";
break;
default:
$var1 = "other";
}
?>
<?php
if(isset($_POST['there']));
switch ($_POST['there']) {
case "1":
$var2 = "word3";
break;
case "2":
$var2 = "word4";
break;
default:
$var2 = "other";
}
?>
<!doctype html>
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div>
Content, <?php echo $var1; ?>, Content, <?php echo $var2; ?>, Content.
</div>
</body>
</html>
但我不希望好奇的用户能够直接转到 mydomain.com/directory/ 并查看 index.php 的输出,除非他通过表单到达那里。
那么我如何隐藏/使index.php 不可访问,或者更改.php 中的某些内容,同时或多或少地保留action="/directory/" 标记?
最好的做法是什么?
【问题讨论】:
-
如果你完全不希望
/directory/被直接访问,你可以在目录中创建.htaccess文件并保存在其中deny from all。为我工作。 -
刚试了一下,使用表单时也拒绝访问。
-
试试
deny from all allow from 127.0.0.1 -
不,那也没用..
标签: php forms post http-post form-submit