Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 阻止用户通过web浏览器访问网页?_Php_Vb.net_User Agent_Hardware Id - Fatal编程技术网

Php 阻止用户通过web浏览器访问网页?

Php 阻止用户通过web浏览器访问网页?,php,vb.net,user-agent,hardware-id,Php,Vb.net,User Agent,Hardware Id,我和我的朋友正在做一个项目。此程序将向我们的网页提交GET数据。然而,我们不希望用户访问网页的任何其他方式以外的程序。我们可以阻止用户使用HWID身份验证共享程序,但没有任何东西阻止他们使用数据包扫描程序获取网页的URL。我们考虑了用户代理身份验证,我们将实现它,但是用户代理很容易被欺骗 所以我的问题是,我们如何阻止用户直接访问网页,而不是通过程序 即使你没有一个完全有效的答案,任何有助于阻止他们的东西都是好的 目前,我们将实施: 使用该程序的HWID身份验证 访问网页的用户代理身份验证 即时I

我和我的朋友正在做一个项目。此程序将向我们的网页提交GET数据。然而,我们不希望用户访问网页的任何其他方式以外的程序。我们可以阻止用户使用HWID身份验证共享程序,但没有任何东西阻止他们使用数据包扫描程序获取网页的URL。我们考虑了用户代理身份验证,我们将实现它,但是用户代理很容易被欺骗

所以我的问题是,我们如何阻止用户直接访问网页,而不是通过程序

即使你没有一个完全有效的答案,任何有助于阻止他们的东西都是好的

目前,我们将实施:

使用该程序的HWID身份验证 访问网页的用户代理身份验证
即时IP黑名单对于没有适当的用户代理访问网页的任何人来说

一个选项是使用和验证一个web浏览器不发送的自定义标题,我为自己的程序做了类似的事情。在你正在做的其他验证中做这个。在服务器端,让您的服务器脚本验证自定义标头,如果标头错误,只需重定向即可

一个选项是使用并验证web浏览器不发送的自定义标头,我为自己的程序做了类似的事。在你正在做的其他验证中做这个。在服务器端,让您的服务器脚本验证自定义标头,如果标头错误,只需重定向即可

一个选项是您可以在请求标头中设置加密令牌


令牌只能使用一次。如果再次发送相同的令牌,服务器将拒绝它,这意味着您必须在服务器端维护已使用令牌的副本。

一个选项是您可以在请求头中设置加密令牌


令牌只能使用一次。如果再次发送相同的令牌,服务器将拒绝它,这意味着您必须在服务器端维护已使用令牌的副本。

不要依赖用户代理或任何类型的浏览器指纹,HTTP头很容易伪造/伪造

您可以在请求中添加一些秘密令牌,例如密码/登录,并通过SSL发送,以防止窃听

或者更好,使用SSL客户端证书

编辑你打算发布VB程序吗?如果是这样的话,正如bobince所提到的,你无法阻止一个下定决心的黑客伪造请求。你可以提高标准,但这将是通过默默无闻的安全。即使使用客户端证书,黑客也可以从您的程序中提取证书并发送修改后的请求


只要您接受客户机的请求,这些请求就可以伪造。处理它。

不要依赖用户代理或任何类型的浏览器指纹,HTTP头很容易伪造/伪造

您可以在请求中添加一些秘密令牌,例如密码/登录,并通过SSL发送,以防止窃听

或者更好,使用SSL客户端证书

编辑你打算发布VB程序吗?如果是这样的话,正如bobince所提到的,你无法阻止一个下定决心的黑客伪造请求。你可以提高标准,但这将是通过默默无闻的安全。即使使用客户端证书,黑客也可以从您的程序中提取证书并发送修改后的请求

只要您接受客户机的请求,这些请求就可以伪造。处理它

尝试使用长键512位或更多位加密您的所有网页,并将HWID用作salt

这样,只有你的程序才能解码它并将其呈现为网页

en.wikipedia.org/wiki/Salt\2829

C&VB.net此处:

obviex.com/samples/hash.aspx

尝试使用长键512位或更多位加密您的所有网页,并将HWID用作salt

这样,只有你的程序才能解码它并将其呈现为网页

en.wikipedia.org/wiki/Salt\2829

C&VB.net此处:

obviex.com/samples/hash.aspx


听起来不错,你能详细说明一下我如何检查网页的标题吗?还可以详细说明如何发送自定义标题。我做PHP,我的朋友做VB.NetSecurity通过默默无闻。。。如果有人截获一个请求并看到该自定义头会发生什么情况?在php中,在程序应该读取的页面中,使用公共数组HttpRequest::getHeaders获取头并在vb中检查/varifiy名称和值。net使用请求对象添加头时,不会将任何自定义头返回到程序,如果头检查失败,只需重定向。关键是恶意客户端很容易复制这些头。他们并没有真正增加安全性。听起来不错,你能详细说明我如何检查网页标题吗?还可以详细说明如何发送自定义标题。我做PHP,我的朋友做VB.NetSec

默默无闻中的纯洁。。。如果有人截获一个请求并看到该自定义头会发生什么情况?在php中,在程序应该读取的页面中,使用公共数组HttpRequest::getHeaders获取头并在vb中检查/varifiy名称和值。net使用请求对象添加头时,不会将任何自定义头返回到程序,如果头检查失败,只需重定向。关键是恶意客户端很容易复制这些头。它们并没有真正增加安全性。维护副本很容易,我只需要使用MySQL数据库。我需要为IP黑名单这样做,这不是比SSL更好的方法吗??原因加密逻辑在应用程序内部。如果ppl反编译代码,我们将无能为力这也是一个廉价的解决方案。。而不是投资于SSL证书!说得好。一次性算法可能有一天会得到反向工程,但使用的加密密钥也可能会得到反向工程。维护副本很容易,我只需要使用一个MySQL数据库。我需要为IP黑名单这样做,这不是比SSL更好的方法吗??原因加密逻辑在应用程序内部。如果ppl反编译代码,我们将无能为力这也是一个廉价的解决方案。。而不是投资于SSL证书!说得好。一次性算法可能有一天会被逆向工程,但使用的加密密钥也可能被逆向工程。是的,我们考虑过使用SSL,只是我不知道如何通过SSLYeah访问页面。或者我可以使用谷歌,那里一切都是免费的。+1加密通信是我能想到的唯一安全的方法。当然,最终你永远不会赢。一旦你把软件的副本给了其他人,他们就有了连接到服务器所需的任何信息,比如客户端证书。@Rob:这取决于你的时间价值。是的,我们考虑过使用SSL,只是我不知道如何通过SSLYeah访问页面。或者我可以使用谷歌,那里一切都是免费的。+1加密通信是我能想到的唯一安全的方法。当然,最终你永远不会赢。一旦你把软件的副本给了其他人,他们就有了连接到服务器所需的任何信息,比如客户端证书。@Rob:这取决于你的时间价值。我不知道你在构建什么样的应用程序,但我会仔细考虑是否真的需要阻止人们通过其他客户访问我的服务,如果我这样做了,我的商业模式是否有问题。无论您做什么,以一种安全的方式实现这一点都将花费大量时间和成本。这真的有必要吗?@Pekka:我不希望我的产品被泄露并公开。如果我使用一个简单的网页,没有任何认证方法,人们就不必购买该产品。如果我添加了用户名和密码,用户名和密码将被共享。我不知道你的目标市场,但我认为提供登录是你能做的最好的事情。如果您看到可疑活动,例如同一帐户在同一小时内从三个不同的国家登录,您将有一切手段关闭该帐户。谁在乎他们用什么客户?如果是任何类型的商业软件,你的大多数客户都会害怕提供他们的个人登录凭据。你应该专注于制作好的软件,而不是防止人们窃取你的应用程序。游戏编辑多年来一直试图锁定用户,但他们的保护在几天内仍然被破坏。如果你的应用程序有用,人们会购买它,有些人会偷走它。我不知道你正在构建什么样的应用程序,但我会仔细考虑是否真的需要阻止人们通过其他客户访问我的服务,如果我这样做,我的商业模式是否有问题。无论您做什么,以一种安全的方式实现这一点都将花费大量时间和成本。这真的有必要吗?@Pekka:我不希望我的产品被泄露并公开。如果我使用一个简单的网页,没有任何认证方法,人们就不必购买该产品。如果我添加了用户名和密码,用户名和密码将被共享。我不知道你的目标市场,但我认为提供登录是你能做的最好的事情。如果您看到可疑活动,例如同一帐户在同一小时内从三个不同的国家登录,您将有一切手段关闭该帐户。谁在乎他们用什么客户?如果是任何类型的商业软件,你的大多数客户都会害怕提供他们的个人登录凭据。你应该专注于制作好的软件,而不是防止人们窃取你的应用程序。游戏编辑器一直试图锁定用户 多年来,他们的保护仍然在几天内被破坏。如果你的应用程序有用,人们会购买它,有些人会窃取它。