php 数据修改的post改写

漫步的猪 2017-11-12 09:33:43
最近学习csrf攻击看到,get方式修改数据是非常不安全的.所以想把所有的数据修改方式改成post方式.
以往的thinkphp中列表页,先获取后台数据,然后foreach 循环到前台页面中

<?php foreach ($data as $k => $v): ?>
<tr class="tron">
<td><?php echo $v['uname']; ?></td>
<td><?php echo $v['password']; ?></td>
<td><?php echo $v['role_name'] ?></td>
<td align="center">
<a href="<?php echo U('edit?id='.$v['id'].'&p='.I('get.p')); ?>" title="编辑">编辑</a> |
<?php if ($v['id']>1): ?>
<a href="<?php echo U('delete?id='.$v['id'].'&p='.I('get.p')); ?>" onclick="return confirm('确定要删除吗?');" title="移除">移除</a>
<?php endif ?>

</td>
</tr>
<?php endforeach; ?>

现在怎么才能把它改写成post 方式了?
每条列表做个form? 然后如何在表单加入csrf的随机数了,每一条做一个随机数?
...全文
453 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
漫步的猪 2017-11-28
  • 打赏
  • 举报
回复
上面的表单怎么改成post方式了,能给个实例代码吗?
码无边 2017-11-22
  • 打赏
  • 举报
回复
1.html加hidden隐藏域,表单提交。 2。js ajax post提交。
qq_37696290 2017-11-22
  • 打赏
  • 举报
回复
引用 5 楼 Mechnaic 的回复:
[quote=引用 4 楼 qq_37696290 的回复:] 可以用ajax 提交,也可以用js创建个form表单提交。。。删除的URL 给用户看见的话 他顺着ID一个一个访问URL怎么办呢?
删除数据不是什么人都可以删除的 起码也得登陆后吧 就算登陆后 怎么着也得当官的人才能删吧 就算当官的人能删 也得经过更大的官来放权吧 就算更大的官放权了,当官的能删了 删除的数据也不是真的删除了[/quote] so?你要跟扯犊子吗?别人问的是怎么把get改成post提交,而不是让你告诉他怎么做删除,ok? 你说的是权限管理的事情,跟楼主的主题差一万里远
Mechnaic 2017-11-20
  • 打赏
  • 举报
回复
删除的数据是不能真的删除的
Mechnaic 2017-11-20
  • 打赏
  • 举报
回复
引用 4 楼 qq_37696290 的回复:
可以用ajax 提交,也可以用js创建个form表单提交。。。删除的URL 给用户看见的话 他顺着ID一个一个访问URL怎么办呢?
删除数据不是什么人都可以删除的 起码也得登陆后吧 就算登陆后 怎么着也得当官的人才能删吧 就算当官的人能删 也得经过更大的官来放权吧 就算更大的官放权了,当官的能删了 删除的数据也不是真的删除了
qq_37696290 2017-11-20
  • 打赏
  • 举报
回复
可以用ajax 提交,也可以用js创建个form表单提交。。。删除的URL 给用户看见的话 他顺着ID一个一个访问URL怎么办呢?
saixs888 2017-11-13
  • 打赏
  • 举报
回复
最安全就是对各种输入参数做校验,尽量避免敏感的参数录入。。post或get没多少区别,没做处理裸奔的话都很危险 可以弄个统一的过滤方法,重写POST或GET
漫步的猪 2017-11-13
  • 打赏
  • 举报
回复
引用 1 楼 hongmei85 的回复:
不检查验证用户提交数据的话,post跟get差不多的 数据库操作用prepare的方式就可以了
引用 1 楼 hongmei85 的回复:
不检查验证用户提交数据的话,post跟get差不多的 数据库操作用prepare的方式就可以了
prepare 对csrf好像没多大效果吧?不是主要针对sql注入的吗
hongmei85 2017-11-12
  • 打赏
  • 举报
回复
不检查验证用户提交数据的话,post跟get差不多的 数据库操作用prepare的方式就可以了
功 能:
1、更安全的附件方式——更强大的附件管理功能,每个用户都可以完全操控你所使用的附件。
2、增强的消息管理——你是否曾为短消息群发留下的大量垃圾而苦恼?从今天起,一条短短的通知在不会为你的数据库增加任何负担,你可以轻易管理论坛的各种系统通知。
3、用户多权限系统——你是否想让某些人在具有自主权限的同时,拥有更多附属权限?从现在开始,通过一些简单的后台操作,您就可以轻松掌握 MXB 的全盘权限控制。
4、更为强大的用户组系统——MXB 已为每个用户组设定了各种权限机制,只要按需调整就可轻松实现对一个用户组的管理和掌控。
5、无限分级论坛核心——从此后,你再也不必为论坛层次发愁,MXB 的无限分级结构使你随心所欲。只要你需要,就可以创造无限层论坛模块。
6、更为强大的系统核心设置——一百多项系统核心设置也许使你有些发懵,但只要你一步步熟悉了 MXB,根据提示进行修改,强大的系统核心定可让你在论坛管理上高枕无忧。
7、超级IP数据管理模块——一个简单的操作,你可以管理到涉及安全的任何数据
8、全新主题管理模式——你可以在任何需要的时候,通过前台或后台批量操作主题。
9、更加安全的管理中心——作为超级管理员的你,现在就可以为不同的管理员设置各种不同的后台权限,以避免因为误操作导致的论坛数据毁于一旦。
10、更加体贴的词语过滤功能——你可以为不同的词语设定各种过滤属性,而不再仅仅是单调乏味的xxxxxx。
11、插件中心模块——没有任何php开发经验,不敢进行任何数据库执行操作?有了这个模块式的插件中心,安装 MXB 插件将使过程大大简化,为你提供更加智能化的数据控制。
12、超级模版系统——MXB 为你提供了更加傻瓜式的样式更改模块。只需几个简单的 CSS 改变就可以创造出全新的视觉体验。
13、高级用户晋级系统——可以通过多种方式实现用户晋级策略管理。
14、数据备份恢复系统——对于虚拟主机来说,定期备份恢复数据必然是件非常头痛的事情,从现在起,你不必再为备份数据库内的任何数据而烦恼。不需任何第三方软件,只要在后台根据向导提示,就可以轻易实现数据库的安全管理(可以备份同数据库的全部数据)。
15、高效的数据查询系统——我们已经为你搭配了最合理的数据库、磁盘管理方式,在最优化数据库查询的同时,也已将磁盘读写减少到最小的可能。这一切都归功于我们所准备的超级缓存系统。所有涉及到静态内容的部分,全部都已经在缓存内预先创建。当在高负载模式下,这一优势更将体现得淋漓尽致!
16、多浏览器支持——不管是WIN用户,还是*nix,MAC用户,在浏览我们的论坛将在视觉感受上毫无两样我们已经测试过各种可能被使用的操作系统和浏览器,最大程度地达到了跨平台的页面兼容。用户第一,这也是我们努力的根本。
17、完善的所见即所得(WYSIWYG)编辑器功能——你是不是一直在为改写一个CODE代码就需修改大量文件而犯愁?从 MXB 开始,你可以简单的在后台添加你所需要的CODE,选择你要使用的图片,前台就会为你全自动的添加好一切。而你,仅仅需要知道某个代码规范,剩下的事情就交给 MXB 好了。
18、完整的PHP5支持——服务器已经升级?没关系,因为我们已经经过各种测试,来实现你的各种需求。
更新记录:
2004-11-29
- 修正了自动分析URL地址的BUG
- 优化了thread, post 表结构
- 更正了版本号组ID信息
- 修正了公告显示错误(无法显示未标明起始日期的公告)
- 修改了短消息通知部分,可以同时对多个用户组发送通知
- 修正了中文用户搜索不精确的问题
- 修正了多重引用的BUG
- 修正了无法创建新模板的BUG
- 修正了添加模板组时的数据库错误
什么是SWFUpload?   SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统标签的文件上传模式。 [编辑本段]SWFUpload的主要特点   * 可以同时上传多个文件;   * 类似AJAX的无刷新上传;   * 可以显示上传进度;   * 良好的浏览器兼容性;   * 兼容其他JavaScript库 (例如:jQuery, Prototype等);   * 支持Flash 8和Flash 9;   SWFUpload不同于其他基于Flash构建的上传工具,它有着优雅的代码设计,开发者可以利用XHTML、CSS和JavaScript来随心所欲的定制它在浏览器下的外观;它还提供了一组简明的JavaScript事件,借助它们开发者可以方便的在文件上传过程中更新页面内容来营造各种动态效果。   在使用SWFUpload之前,请确认你具备一定的JavaScript和DOM知识。在实际开发中,大部分的错误都是由于错误的设置和低劣的Event Handlers处理程序所造成的。 [编辑本段]文档中文翻译   http://www.v-sky.com/doc/swfupload/v2.1.0/Documentation.html [编辑本段]效果演示   * Classic Form Demo http://demo.swfupload.org/formsdemo ;   * Features Demo http://demo.swfupload.org/featuresdemo ;   * Application Demo http://demo.swfupload.org/applicationdemo ;   * v1.0.2 Plugin Demo http://demo.swfupload.org/v102demo ; [编辑本段]选择合适的Flash控件   在发行包(SWFUpload v2)中含有2个版本的Flash控件(swfupload_f8.swf 与wfupload_f9.swf),其中第一个版本拥有最佳的兼容性,但是为此损失了部分功能;而第二个版本提供了一些附加的功能但是损失了兼容性。 [编辑本段]SWFUpload的初始化与配置   首先,在页面中引用SWFUpload.js ,如      然后,初始化SWFUpload ,如   var swfu;   window.onload = function () {   swfu = new SWFUpload({   upload_url : "http://www.swfupload.org/upload.php",   flash_url : "http://www.swfupload.org/swfupload_f9.swf", file_size_limit : "20480"   });   };   以下是一个标准的SWFUpload初始化设置所需的参数,你可以根据需要自己进行删减:   {   upload_url : "http://www.swfupload.org/upload.php", 处理上传请求的服务器端脚本URL   file_post_name : "Filedata", 是POST过去的$_FILES的数组名   post_params : {   "post_param_name_1" : "post_param_value_1",   "post_param_name_2" : "post_param_value_2",   "post_param_name_n" : "post_param_value_n"   },   file_types : "*.jpg;*.gif", 允许上传的文件类型   file_types_description: "Web Image Files", 文件类型描述   file_size_limit : "1024", 上传文件体积上限,单位MB   file_upload_limit : 10, 限定用户一次性最多上传多少个文件,在上传过程中,该数字会累加,如果设置为“0”,则表示没有限制   file_queue_limit : 2, 上传队列数量限制,该项通常不需设置,会根据file_upload_limit自动赋值   fl

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧