作者carlcarl (carl)
看板PHP
标题Re: [请益] 让网页只能让透过ajax取资料 不能直接连
时间Wed Apr 18 04:53:38 2012
基本上我觉得只要能挡掉一般使用者直接去连网页的部份就行了
要完全挡掉我觉得有点困难
我认为 虽然有些人可能会刻意的产生特定的request去连这些网页
不过假如没有安全性上的问题 那倒是无仿
方法的话我也是想用随机的token来防止
如果可用session的话
可以在server端产生一个随机的token 并塞到session里
接着传到client网页中 ajax就利用这个token传送request
server收到request之後 确认request和session中的token是否吻合
吻合的话就传回应该要传的资料以及再产生一组随机的token 塞session後再传回去
接着client网页这端收到request并更新内容和token 以此类推
不过这种方法通常都是拿来防止CSRF比较多就是了
然後 我觉得这样应该就差不多了
当然 使用者是可以收到token之後 查一下然後自己做个request传过去
不过就像我前面讲的 如果没有安全性上的问题 他这样做也没差
而且每次都要查token其实也满累的 也没啥好处XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.141.84
1F:推 kerash:推,这个比较简单简化,当key的都不要在前端显示 04/18 09:02
2F:推 terrybob:感谢教学,受教了! 04/18 10:21
3F:→ chrisQQ:好奇问一下,「ajax就利用这个token传送request」 04/18 10:30
4F:→ chrisQQ:这边怎麽用这个 token 传送 request @@? 04/18 10:30
5F:推 kerash:我觉得只是跟前面的概念一样,把他加到ajax参数再送出去 04/18 10:48
6F:推 cokellen:可以参考FB_APP的access_token机制 04/18 10:55
7F:→ carlcarl:这方法我是看python的django有这机制才会的XDD 04/18 14:00
8F:推 dio833:好奇这个token可以用cookies放在Client端吗?因为如果要放在 04/18 14:51
9F:→ dio833:AJAX参数中的话,假设前端的资料是用list方式呈现多笔的话 04/18 14:52
10F:→ dio833:可能撰写上有点麻烦 04/18 14:52
11F:推 dio833:不过就产生单一个Request的来说的话,这个方式真的很方便 04/18 14:54