testing - 如何授予客户端访问预览 Web 应用程序的权限

标签 testing uat

我正在为客户构建网络应用程序。我想在备用域中公开托管它,以便他们可以访问它并在它进行时查看它。我希望它尽可能接近他们在真实域中上线时的体验。

该应用程序是用 Laravel 构建的,大部分页面都需要登录,因此会自动受到保护。但是,有些是公开可用的。我显然会设置一个 robots.txt 来阻止搜索引擎编制索引,但正如我们所知,这并不是万无一失的。

有哪些选项可以安全地访问我的客户?到目前为止,这是我的 list :

  • 为尚未 protected 路由实现 HTTP 基本身份验证。但应用程序级身份验证已经足够复杂(使用 RBAC 等),所以我宁愿不这样做。
  • 修改 .htaccess 以仅允许来自其工作网络的 IP 地址。不过他们有移动员工,所以这不是一个很好的解决方案。
  • 设置 VPN。这不是我的最佳选择,而且似乎需要做很多工作。
  • 授予他们启动/停止虚拟主机的权限,或将应用程序置于开发模式。这意味着他们的团队成员将不得不协调他们的测试 session ,这会过于严格。

还有哪些其他选择?

最佳答案

你提到的方式对我来说似乎是合理的。我只想补充一点,如果您可以控制 Web 服务器(例如 Nginx),您还可以限制对特定 IP(或 IP 范围)的访问,例如:

server {
  listen 80;
  server_name www.foo.bar;

  location / {
    root /path/to/app/;

    allow   client.public.ip;
    deny    all;
  }
}

这样您就不必担心爬虫会访问您的网站、设置 VPN 或检查需要基本身份验证的路由。您只需授予一组 IP 访问完整网络应用程序的权限,而没有其他限制。

您可以做的另一件事是设置防火墙规则以禁止除特定 IP 以外的所有 IP。或者,您可以将服务器设置为在某个没人愿意使用的模糊端口上交付应用程序。您可能想查看 ufw (简单的防火墙)这两个选项。例如:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 8325 <-- some random port

然后在端口 8325 上提供应用程序。

关于testing - 如何授予客户端访问预览 Web 应用程序的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46534562/

相关文章:

angular - 通过 Protractor 在 ion-textarea 中发送输入 - ionic 4

testing - grabAttributeFrom() 方法不返回属性值

c# - 在集成测试 MSTesting C# 中获取参数

testing - JIRA:如何让搜索框记住项目代码?

testing - Specflow - "scenarios"之间的状态

qt - Windows 中 qt 应用程序的自动化功能测试

python - 针对 Python Web 开发的 TDD 资源

testing - 用户验收测试与测试用例场景和功能测试之间的差异

url - 低端环境(DEV/QA/STG/UAT/etc.)如何提供URL?

testing - 如何让您的客户进行测试