【发布时间】:2010-03-20 19:12:31
【问题描述】:
我使用DropBox,但在从其他计算机访问我的文件时遇到了一些问题: 当我在公共计算机上时,我并不总是想登录任何东西,但我喜欢能够从任何地方访问我的东西。
所以我做了一个简单的应用程序,当放入公用文件夹时,运行并提供正确的 UID,创建(仍然在您的公用文件夹中)文件夹(包括子文件夹)中所有内容的 HTML 作为树链接。
但我没有冒险将它加载到任何地方,因为那里有些私密的东西(是的,我知道文件夹的名称是“PUBLIC”)。
所以我想出了一个想法,让它成为一个简单的登录页面,只要输入正确的密码,页面的其余部分就会加载。太棒了!但是如何?
如果我通过重定向到同一文件夹中的其他 HTML 来做到这一点,我仍然会将 html 链接放入网络历史记录和管理员的“url 的访问”历史记录中。所以我应该在同一个页面中生成它。
我做到了:
alt text http://dl.dropbox.com/u/3045472/validate.png
当前页面是一个文本框和一个按钮,只有当您输入正确的密码(在生成器中定义)时,页面的其余部分 (with the link-tree) 才会加载。错误在于一切(密码、URL)都可以通过源代码轻松访问。
现在,假设我只想避免愚蠢的人太容易获得它,而不是制作一个防弹的所有内容持有 NSA 认证的网站,我想一些方法来使这些信息成为有点难得到。
正如您可能已经想到的,我使用流写程序来编写一个 html 文件(头部、循环链接、底部),然后它的可配置性非常高,我可以想出一个非常混乱但可以工作的 c# 代码,虽然我的javascript知识不是很好。
DropBox 中的公共链接如下所示:
总结:如何隐藏 URL 和密码以在我的源代码中显示它们(当然主要是密码),这样就不需要花一些精力阅读?
P.S.:这不是私人的,如果有人真的想要它,它永远不会受到 100% 的保护,如果它那么重要,我也不会把它放在公共文件夹中,如果这家伙真的想那么努力,他应该得到它。
P.S. 2.:“使用 Ultra-3000'tron 混淆器!!11”不是一个真正的答案,因为我的 javascript 是由我的 c# 程序生成的。
P.S. 3.:我不希望其他解决方案为“使用服务器端应用程序并将其托管在某个地方以重定向和bla bla”或“压缩.RAR文件中的链接并在其中输入密码”,因为我'我这样做也是为了学习,我想要它的快感 =)
更新 1:
到目前为止,一个答案提供了一种完美的方式(根据这个问题)来隐藏我的密码。
现在我想要一个隐藏 URL 的好方法,可能是我给出的示例 URL 的代码 sn-p,如果它太棘手,可能如何在 C# 中生成它,或者任何东西?
更新 2: 我考虑过可能制作三个“混淆方法”并在运行时随机选择它们。因此,任何想出如何阅读一个 XML 的人,只能阅读其中的三分之一,并且可能很难找到这三分之一的其余部分......
更新 3:
想想 REGEX,URL 可能会被随机添加的虚拟非 url-allowed 字符整齐地挤满,这些字符会被以下内容删除:
regex.replace(url, ^[^\w\d/:-\.%]+$,"")
所以,这个爱管闲事的家伙在编程方面应该有相当高的水平,是吗?谁能告诉我它是否有效?
【问题讨论】:
-
这是一个有趣的问题。希望你能得到一些好的答案。我邪恶的一面很想回答“写很多意大利面条代码”,但我不会那样做。 :)
-
意大利面条代码会不会不使用方法或循环,并使其全部成为单行错误代码?这还不够……应该组合 URL,并且在源代码中通过“http://”搜索不应返回任何完整的 URL。
标签: javascript c# .net obfuscation