首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从数据库中删除内容、安全防范措施

从数据库中删除内容、安全防范措施
EN

Stack Overflow用户
提问于 2011-05-08 22:41:45
回答 1查看 323关注 0票数 6

更新:

我添加了CSRF保护,就像Berdir告诉我的那样,在下面的链接的帮助下,使我的应用程序再次工作。但是..。我不太清楚我现在做了什么:D这将如何使我的应用更加安全?我尤其感到烦恼的是,我现在在ajax代码中获得了一个cookie值,因为我必须通过ajax调用传递它。否则就不起作用了。这不是给出了一些关于饼干的重要信息吗?还是我只是偏执狂。谢谢!

http://aymsystems.com/ajax-csrf-protection-codeigniter-20

//老嗨。

在我正在构建的这个网络应用程序中,我有一个功能,可以添加关于某些主题的“提示和技巧”。这些页面只能由具有管理角色的帐户添加。但是,我也想要删除这些页面的能力。(总是很方便,对)。由于我使用的是CodeIgniter,所以我想只创建一个控制器函数,它接受一个ID,并将这个ID传递给模型,在该模型中,与该ID对应的页面将从数据库中删除。

我只想说清楚:

主计长:

代码语言:javascript
运行
复制
public function del_content($id)
{
    $this->content_model->del_content($id)
}

型号:

代码语言:javascript
运行
复制
public function del_content($id)
{
    // database code which I can't be bothered to look up now
    // something like $this->db->where(), $this->db->delete()
}

这一切都很简单,但我担心这可能太简单了。这看起来不太安全,对我来说是吗?因为您可以从浏览器中的URL地址栏调用该函数,因此基本上可以通过它删除整个内容表。(因为您将对ID为3的项执行http://mywebsite/controller/del_content/3 )。当然,只有管理员帐户才能访问该函数,但仍然..。

我从来没有编制过这样的程序,因此我从来没有考虑过在这种情况下我应该采取什么安全措施。有人愿意给我一些我应该留心的东西吗?也许还有一些想法,建议,如何使这件事更安全?

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-09 00:11:37

您需要防范的是CSRF攻击。简单地说,它们是通过GET或POST请求欺骗管理员访问某个URL的攻击。

这样做的典型方法是令牌。生成指向delete操作的链接或表单时,生成发送到客户端的令牌(作为隐藏表单字段或GET URL的一部分),还将其存储在当前会话的服务器上,在执行该操作时,您将比较已提交的令牌和存储的令牌,并仅在它们匹配时继续。

在某些方面,许多框架/系统都有这种内置,例如,Drupal中的Form API生成的所有表单都是针对此类攻击而生成的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5930870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档