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

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

WBOY
WBOYOriginal
2016-06-06 20:10:211354Durchsuche

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):从服务器删除资源。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn