我使用PHPMailer从我的网站上提交的HTML表单发送电子邮件自己的数据。所以我有这个文件mydomain.com/mail/mailer.php,它必须包含我的电子邮件帐户的密码。所以我要拒绝访问mydomain.com/mail/来保护这个文件,让人们远离那里。当我在mydomain.com/mail/中的.htaccess中使用"Deny from all"这样做时,我的表单由于403错误而停止工作。
我如何让HTML表单在mydomain.com被处理,同时拒绝访问其他人?
我的邮件脚本重定向到我的邮件子目录之外的成功页面,所以这不是问题。在脚本成功将表单数据通过电子邮件发送给我之前,发生了403。
我已经尝试了"命令允许,拒绝/拒绝所有/允许来自mydomain.com"。
- 仅仅因为代码中包含您的密码并不意味着人们可以看到它。如果有人去到那个URL,代码执行,它不只是转储代码到浏览器,如果这是你担心的。
- 如果你有POST/GET到这个脚本的表单,那么这个脚本当然必须是可用的(不受。htaccessdeny规则等的保护)
- 说了这么多,你可以简单地把配置分割成一个单独的文件,你包括(例如。config.php)然后保护该文件:
。
/myfolder/myform.php
/myfolder/config.php
在上面的例子中,你可以有myform.php include 'config.php'
,然后在你的。htaccess中添加一个DENY规则来阻止对config.php
的任何访问
示例/myfolder/.htaccess
表项:
<Files "config.php">
Order deny,allow
Deny from all
</Files>
你不能否认mailer.php
并期望它工作。它存在的全部意义就是让人们在提交表单时被引导到它。如果你的网页浏览器配置正确,执行PHP代码,你的网页上没有其他脚本有安全漏洞,你的系统是正确的补丁和最新的,你的密码是安全的,足够高的质量,这是相当肯定的预期,没有人会看到你的文件的源代码。