【问题标题】:How to store password used for web scraping?如何存储用于网络抓取的密码?
【发布时间】:2015-06-27 21:46:06
【问题描述】:

我正在创建一个网络应用程序 (MyApp),它依赖于来自另一个网络应用程序 (AnotherApp) 的信息。 MyApp 中的每个用户都会有一个与他的 AnotherApp 配置文件同步的配置文件。显然我会从 AnotherApp 中抓取数据,但我不知道如何正确(以安全的方式)存储和使用来自 AnotherApp 的用户凭据。在与 AnotherApp 同步数据之前,我需要授权凭据。

那么如何在不使我的用户密码易受攻击的情况下做到这一点呢?

更新:

这里是背景:这是关于我的大学使用的遗留学生系统,这有点糟糕,我想为学生提供更好的体验。我想提供更好的数据可视化和数据组织。还可以添加社交元素。没有API和东西,因为遗留。如果需要,我会提供更多详细信息。

【问题讨论】:

  • 为什么要复制数据?为什么你必须使用网络抓取来做到这一点?为什么您必须以每个用户身份进行身份验证才能抓取数据?目前还不清楚您在这里实际想要完成什么。
  • 我没有详细说明,因为它与问题没有太大关系。我想完成以下工作:安全地存储密码并将其用于身份验证以同步数据。这对我来说已经足够清楚了。这里的背景是:它是关于我大学使用的遗留学生系统,这有点糟糕,我想为学生提供更好的体验。我想提供更好的数据可视化和数据组织。还可以添加社交元素。有这么多 API 和东西,因为遗留。如果需要,我会提供更多详细信息。
  • 获得对遗留数据源的访问可能会更容易和更有效。使用这种方法,除了拥有用户密码的实际文本之外似乎别无选择,这对您的用户来说不是一个好主意。
  • 是的,我也不喜欢文本表示方法。但是访问数据不是一种选择。如果有可能的话,获取数据的官僚机构太多了,我没有时间也没有意愿去做。
  • 您受雇执行此操作。所以你可以访问资源来完成它吗?就像把你的 app2 放在他们的服务器旁边一样吗?

标签: security passwords web-scraping password-protection password-encryption


【解决方案1】:

您不应该为其他人的系统存储用户凭据。这就是Oauth 的重点。当然,您可能认为自己是一个非常善良和诚实的人,但是当您的应用程序被黑客入侵时,您将如何回应在您的应用程序上包含学生信息?这样的场景是not fiction。因此,我强烈建议您在继续之前咨询您的大学以获得对此工作的许可,然后与他们讨论您希望如何获得授权以将您的应用程序与他们的应用程序同步。此处提供的任何未考虑您所在大学要求的答案均不应遵循。

是的,我知道,我没有提供您想要的答案,但有很好的理由。

【讨论】:

  • 我非常清楚你所说的。我决定有一个类似同步按钮的东西,当学生每次想要将他的帐户与他的学生信息(考试、成绩等)同步时,他都会输入他的凭证。我没有存储凭据。
  • “是的,我知道,我没有提供你想要的答案,但有很好的理由。” Wat?
  • 不存储凭据是好的,但从攻击者的角度来看,需要提几点:(1) 如果您正在存储用户数据并且您的系统被黑客入侵(如 Snapsave),那么您将负责丢失其他人的私人数据,以及 (2) 如果攻击者能够在您的系统上获得 reverse shell,那么即使您没有存储它们,他也可以访问通过您的站点的任何凭据。我怀疑一个人能否提供系统的 24 小时运行安全。
猜你喜欢
  • 2015-06-15
  • 1970-01-01
  • 2014-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 2010-12-28
  • 2011-02-12
相关资源
最近更新 更多