首页 文章

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

提问于
浏览
0

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

How do I let the HTML forms at mydomain.com be processed while denying access to everyone else?

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

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

2 回答

  • 0
    • 仅仅因为代码包含您的密码并不意味着人们可以看到它 . 如果有人进入该URL,代码就会执行,那么它并不是你所担心的 .

    • 如果你有表格POST / GET到这个脚本,那么当然脚本必须可用(不受.htaccess拒绝规则等保护)

    • 尽管如此,您可以简单地将配置拆分为您包含的单独文件(例如.config.php),然后保护该文件:

    例如 .

    /myfolder/myform.php
    /myfolder/config.php
    

    在上面的例子中,您可以使用myform.php include 'config.php' 然后将DENY规则添加到.htaccess,以防止对 config.php 的任何访问

    示例 /myfolder/.htaccess 条目:

    <Files "config.php">
       Order deny,allow
       Deny from all
    </Files>
    
  • 1

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

相关问题