欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php框架 - php的post表单提交需要带上token,那么get方式获取url参数来删除是否需要token?

程序员文章站 2022-06-05 17:01:51
...
php的post表单提交需要带上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):从服务器删除资源。

相关标签: php php框架