2014-06-23 25 views
0

我使用PHPMailer從我的網站上提交的HTML表單發送自己的數據。所以我有這個文件mydomain.com/mail/mailer.php,它必須包含我的電子郵件帳戶的密碼。所以我想拒絕訪問mydomain.com/mail/來保護這個文件,並且通常讓人們遠離那裏。當我通過mydomain.com/mail/中的.htaccess中的「拒絕所有人」來執行此操作時,由於403錯誤,我的表單停止工作。拒絕訪問除了處理HTML表單以外的php文件

如何處理mydomain.com上的HTML表單而拒絕其他人訪問?

我的郵件程序腳本重定向到我的郵件子目錄之外的成功頁面,所以這不是問題。在腳本成功向我發送表單數據之前,403正在發生。

我已經嘗試過「允許,拒絕/拒絕/從mydomain.com允許」。在發送任何電子郵件之前,我也收到了403。

+0

網站訪問不區分來源。唯一想到的是某種祕密代碼,並非萬無一失,但我預計會消除大量機器人和垃圾郵件發送者。 – bloodyKnuckles

回答

1
  1. 僅僅因爲代碼包含密碼並不意味着人們可以看到它。如果有人訪問該代碼執行的URL,則不會將代碼轉儲到瀏覽器,如果這是您所擔心的。
  2. 如果有POST/GET這個腳本形式那麼當然劇本必須是可用的(不受保護的.htaccess通過拒絕規則等)
  3. 說了這麼多,你可以簡單地分割成配置一個單獨的文件(如config.php),然後保護該文件:

EG。

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

在上述情況下,你可以有myform.php include 'config.php'然後拒絕規則,以你的.htaccess防止對config.php

/myfolder/.htaccess進入任何訪問:

<Files "config.php"> 
    Order deny,allow 
    Deny from all 
</Files> 
+0

謝謝。這很好用。 – Rachel

0

你不能否認mailer.php並期望它工作。它存在的全部意義在於讓人們在提交表格時引導他們。如果您的網絡瀏覽器配置正確,並且應該執行PHP代碼,並且網絡上沒有其他腳本存在安全漏洞,並且您的系統已經正確打補丁並且是最新的,並且您的密碼安全且質量足夠高,有理由相信,除了你自己以外,沒有人會看到你的文件的源代碼。