我正在构建像gumtree和OLX这样的网站,我的一位朋友告诉我,它很容易入侵,因为它使用查询字符串来执行大多数操作。
例如,当我搜索汽车时,我的网址看起来像http://www.kasitree.co.nf/?sv=car&township=&catagory=Cars&province=Western+Cape
当我搜索汽车时,他们的网址看起来就像在gumtree上一样 https://www.gumtree.co.za/s-automotive-vehicles/stellenbosch/car/v1c5l3100295q0p1
他没有告诉我使用查询字符串的危险,他只是告诉我查询字符串会让你的网站容易受到黑客攻击。
使用查询字符串的替代方法吗?
答案 0 :(得分:1)
查询字符串不会使您的网站容易受到黑客攻击。查询字符串只是丑陋,应该谨慎使用,当它们被使用时,你应该努力使它们保持整洁有序。
许多现代Web框架通过在URL本身中嵌入查询参数,使查询字符串不那么难看。那就是/cars/fiat/30132
类似于传统CGI用语中的/cars?vendor=fiat&id=30132
。
使用查询字符串时没有更安全或更不安全的东西。肯定会在URL中公开参数来修改选项,但是任何“黑客”的人都会知道URL的其他组件也很容易调整,而且任何POST表单都可以通过使用内置的开发工具来改变其内容在任何网络浏览器中。
网络开发的基本规则是用户不提供任何信任。任何事情都可以并且将会被操纵,因此您必须对任何传入的参数或数据进行自己的验证,当您将必须插入其他上下文(例如HTML)时,必须正确地转义这些值,SQL,甚至是其他URL。
如果您希望自己的网站安全,则必须使用HTTPS,并且您需要非常非常怀疑所有用户数据。你的朋友在这里被误导了。