使用 .htaccess 阻止访问包含文件

当我为客户和我自己构建网站时,我使用大量包含文件来使我的网站易于维护。这些包括文件可能:

  • 由纯HTML组成;不涉及服务器端编程
  • 是PHP类文件;在整个网站中使用
  • 由 HTML 和 PHP 组成
  • 用于产生特定操作的 PHP 代码;很多时候,AJAX 脚本

显然,如果有人幸运地猜到了我的包含脚本的路径和文件名,可能会出现问题,特别是如果 AJAX 脚本不安全(但我不会那样做——也不会你会,对吧?)。例如,采用以下编码不当的 PHP 代码,它会在进行 AJAX 调用时运行:

//inside file:   includes/ajax/delete_id.inc
$query = 'DELETE FROM my_table WHERE id = '.$_GET['id'];
mysql_query($query);

想象一下,如果用户将查询字符串中的“id”更改为“’或 1”——所有数据都将丢失!

即使我的脚本是安全的(这意味着我使用适当的验证来确保它们被正确调用),用户/黑客也无权调用包含文件。使用 .htaccess,我们可以阻止用户尝试访问包含文件:

<Files ~ "\.inc$">
	Order allow,deny
	Deny from all
</Files>

上面的代码告诉服务器禁止用户对任何以“.inc”结尾的文件的任何请求。您可以根据自己的命名约定和文件夹结构轻松修改上述 .htaccess

让您的网站更安全的另一个 .htaccess 技巧!

赞(0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏