拒绝访问php文件,但处理HTML表单除外

时间:2014-06-23 00:16:28

标签: php html forms .htaccess phpmailer

我正在使用PHPMailer通过电子邮件发送自己在我网站上提交的HTML表单中的数据。所以我有这个文件mydomain.com/mail/mailer.php,必须包含我的电子邮件帐户的密码。所以我想拒绝访问mydomain.com/mail/来保护这个文件,并且通常会让人们远离那里。当我用" Deny from all"在mydomain.com/mail/中的.htaccess中,由于403错误,我的表单停止工作。

如何处理mydomain.com上的HTML表单,同时拒绝其他人访问?

我的邮件程序脚本重定向到我的邮件子目录之外的成功页面,因此这不是问题。 403是在脚本成功通过电子邮件发送表单数据之前发生的。

我已经尝试了#34;订单允许,拒绝/拒绝所有/允许来自mydomain.com"。在发送任何电子邮件之前我也收到了403.

2 个答案:

答案 0 :(得分:1)

  1. 仅仅因为代码中包含您的密码并不意味着人们可以看到它。如果有人访问该URL,代码就会执行,如果你担心的话,它不会只是将代码转储到浏览器中。
  2. 如果你有表格POST / GET到这个脚本,那么当然脚本必须可用(不受.htaccess拒绝规则等保护。)
  3. 说完了所有这些,你可以简单地将配置拆分成一个包含的单独文件(例如.config.php),然后保护该文件:
  4. EG。

    /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>
    

答案 1 :(得分:0)

你不能否认mailer.php并期望它能够发挥作用。它存在的全部意义在于,当人们提交表格时,人们会被引导到它。如果您的Web浏览器已正确配置并按原样执行PHP代码,并且您的Web上没有其他脚本存在安全漏洞,并且您的系统已正确修补和更新,并且您的密码安全且质量足够高,可以肯定的是,除了你自己之外,没有人会看到你文件的源代码。