php框架 - php的post表单提交需要带上token,那么get方式获取url参数来删除是否需要token?
那么get方式获取url参数来删除是否需要token?
例如:www.aaa.com/delpost.php?id=2
要在后台删除id是2的记录,
如果有恶意用户给管理员发了这个链接,管理员正好在登录状态,那么岂不是管理员无意间删除了这篇文章,所以需要token吗?
www.aaa.com/delpost.php?id=2&token=
回复内容:
php的post表单提交需要带上token,
那么get方式获取url参数来删除是否需要token?
例如:www.aaa.com/delpost.php?id=2
要在后台删除id是2的记录,
如果有恶意用户给管理员发了这个链接,管理员正好在登录状态,那么岂不是管理员无意间删除了这篇文章,所以需要token吗?
www.aaa.com/delpost.php?id=2&token=
个人建议token的生成方式由程序决定,有生成就有获取
根据post和get来判定传输方式
而且在生成的token中加入验证,判断传过来的token是否与当前的ip或用户一致,这样避免不必要的删除或修改
针对删除,我一般用ajax来提交,在ajax提交使用post
可以搜一下RESTful这种软件风格。对于这种删除操作用get本来就是有问题。get的主要功能是数据的获取。
以前基本都是使用Post方式来进行删除的,还是将方法改成POST方式删除吧,或者你可以把token放入Head中进行传输验证。
--------关于RESTful--------------
在引入了RESTful之后,命令变成了
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源。
上一篇: MySQL查询的性能优化
下一篇: PHP实现ftp上传文件示例_php技巧