我想设置一些基本的Web服务器保护,以防止重放攻击和数据操作黑客攻击。 目前,我从客户端(android)方面发出REST请求,例如:
http://www.example.com/add_book.php?user_name=eddy&nonce=534365756756&book_title=My%20First%20Book
在这里,我使用的是将根据用户的id存储的nonce,并检查重复的请求。但是,在这个未加密的系统中,有人可以简单地插入自己的(随机)随机数。我想要做的是将上述请求转换为以下内容:
http://www.example.com/add_book.php?fsjdfhdhsjfhdsjf538537854rj34i5348ur4rf4r3g4yrg4y32210dfsdjfsdhfjshru99jifjknjsdfnfjsfhuruwe
可以是未加密的服务器端到等效的未加密URL,因此可以使用$ _GET ['book_title']访问参数(就像通常的方式一样)。
在理想的世界中,请求本身可以使用用户的哈希密码加密,这是一种简单的方法来证明用户是他们所说的人。
我现在还没准备好在这个阶段支付HTTPS证书,所以这不是一个真正的选择。
有谁知道我怎么做到这一点?我的请求是纯文本atm,所以非常容易受到攻击。 谢谢。
答案 0 :(得分:0)
Android加密URL参数和值并解密服务器端
我想设置一些基本的Web服务器保护措施,以防止重放攻击和数据操纵黑客攻击。
如果您试图阻止网络上的某人拦截纯文本HTTP请求并对其进行恶意处理,那么HTTPS是您唯一的解决方案。
如果您要阻止本地用户这样做,请rethink the security model of your application。
在这个阶段,我还没有准备好为HTTPS证书付费,所以这不是一个选择。
You don't have to pay anything for HTTPS。免费的!
如果您使用的托管服务提供商难以免费获取HTTPS,请设置廉价的VPS(LowEndBox,DigitalOcean Droplet等),然后停止为他们提供业务。他们会适应或死亡。