希望你能帮我解决这个问题。我有一份时事通讯,我会每月更新并通过电子邮件将其发送给客户。此电子邮件集成在批量邮件 php 脚本中。该脚本查询 SQL 数据库以获取电子邮件地址。
我担心的是任何人都可以访问这个脚本并执行它。例如通过访问此页面:www.domain.com.au/newsletter/bulk_email.php
如何保护此脚本,以便只有我可以访问/执行它而不是公众?是否有密码保护,或者最好的方法是什么?
谢谢,
D
希望你能帮我解决这个问题。我有一份时事通讯,我会每月更新并通过电子邮件将其发送给客户。此电子邮件集成在批量邮件 php 脚本中。该脚本查询 SQL 数据库以获取电子邮件地址。
我担心的是任何人都可以访问这个脚本并执行它。例如通过访问此页面:www.domain.com.au/newsletter/bulk_email.php
如何保护此脚本,以便只有我可以访问/执行它而不是公众?是否有密码保护,或者最好的方法是什么?
谢谢,
D
将此添加到脚本的顶部。
if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER'] != 'YOUR_USER_NAME' || $_SERVER['PHP_AUTH_PW'] != 'YOUR_PASSWORD') {
header('WWW-Authenticate: Basic realm="TEST"');
header('HTTP/1.0 401 Unauthorized');
echo 'Not authorized';
exit;
}
echo 'Continue script';
有两种方法可以保护 php 文件不被直接访问:
将文件添加到 .htaccess 中,并使用规则拒绝所有人。但是这条规则有时会阻止你做某些事情。
使用 post 选项创建一个带有用户名和密码的简单表单,当输入用户名和密码时,它将重定向到您的批量电子邮件脚本并匹配用户名和密码,如果匹配则执行命令,否则不执行。
您在这里阅读了本教程:
http://www.kavoir.com/2009/01/htaccess-deny-from-all-restrict-directory-access.html
order deny, allow
deny from all