php - 保护我网站的管理部分

标签 php linux security apache authentication

我有一个分类网站...

正如您可能想象的那样,作为网站管理员(管理员),我有时需要删除分类广告、编辑它们等等。

我有自己的 Linux 服务器,具有 root 访问权限。

目前我的网站有一个部分包含所有管理 php 脚本,我用它来删除分类广告、编辑它们等:

    /www/adm/ //Location of administrative tools

上面的这一部分今天通过使用 apache2.conf 文件的简单例份验证来保护:

<Directory /var/www/adm>
    AuthType Basic
    AuthName "Adm"
    AuthUserFile /path/to/password
    Require user username
</Directory>

我的问题是,这是否足以防止外人访问我的管理工具?

因为如果怀有错误意图的人得到了这些工具,那将是毁灭性的。他们将能够从我的数据库中删除所有记录……我确实有备份,但这意味着大量的工作……

遇到这种情况通常怎么办?

我唯一能想到的就是在我计划使用它们时上传管理脚本,然后在使用后将它们从服务器上删除。

可以帮助您决定我应该使用哪种解决方案的其他信息:

  • 我只在一台计算机上管理网站和服务器
  • IP 地址是那台计算机的动态
  • 我使用安全的 ftp 将文件传输到服务器
  • 管理工具是与数据库通信的 PHP 代码
  • 我有 IPTables 防火墙设置,只允许从我自己的服务器/网站连接到数据库。
  • 我每天备份所有文件

谢谢

最佳答案

如果其他人可以访问服务器的 shell,您应该非常小心权限。

否则,基本的 Apache 身份验证就可以了,但请记住,如果您使用的是未加密的连接(不是 SSL),您的密码将以明文形式通过网络发送,因此它总是有可能被嗅探。

要启用 SSL,您需要:

  1. 在您的 apache 上启用 mod_ssl
  2. 自签名(免费)证书
  3. 更改您的 apache 配置以包括 SSL 端口

您可以引用本教程了解如何enable SSL on Debian .

关于php - 保护我网站的管理部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3746135/

相关文章:

javascript - 如何删除Textarea中行之间的行间距?

javascript - 我可以使用 PHP 从 ERC20 合约转移代币吗?

c++ - lsusb:只有 1 个端点可用

php - 使用 imaplib 时的 Bash 与 CMD

PHP - 迭代两次通用迭代

linux - ssh登录后永久挂载加密home

linux - python setup.py egg_info"失败,错误代码为 1 in/tmp/pip-build-zsm7incx/phonenumbers/- 失败

php - 如何让浏览器远离我的图书馆?它们应该放在哪里?

java - 是否可以/有效地建立仅包含安全登录但包含非安全消息的 TCP 连接?

macos - 如何显示我的应用程序不是键盘记录程序?