gpt4 book ai didi

Php-MySql 插入 MySql 并从 MySql 获取到屏幕时的安全方法

转载 作者:行者123 更新时间:2023-11-29 13:56:43 26 4
gpt4 key购买 nike

插入 MySql 时我的方法

我想我在 stackoverflow.com 上读到“如果您需要转义或类似操作,请及时执行”,因此在验证页面中我会验证用户输入(空或不检查、长度检查和结构性检查)检查(例如:邮件结构、自定义标签结构);我使用 $_POST[''] 变量作为输入。在验证过程中,即使在自定义错误打印部分,我的错误消息也不包含消息文本中的任何 $_POST[''] 值。< br/>
作为临时说明:我在 php-MySql 交互期间使用准备好的语句和参数化查询。如果输入经过验证;就在 INSERT INTO MySql 之前,我从输入中删除标签,因为我不允许除自定义结构化标签之外的任何 html 标签。 (例如 **bold text** === <strong>bold text</strong> )然后我将用户输入插入 MySql 数据库。

从 MySql 获取并将输出打印到屏幕时的我的方法

我只应用 htmlspecialchars() 命令从 MySql db 打印到屏幕

我的问题

我对自己没有信心。我的方法是否存在明显或隐藏的弱点?预先感谢 php 专家的宝贵意见。 BR

更新

在插入 MySql 数据库期间我不会删除标签。原因请引用下面ÁlvaroG.Vicario的评论。 BR。

最佳答案

到目前为止,讨论的重点是防止 SQL 注入(inject)和持久性跨站点脚本攻击。听起来您走在正确的道路上。

  • 使用准备好的语句是对抗 SQL 注入(inject)的“最佳实践”。
  • htmlspecialchars() 是防止 XSS 的良好开端,但您必须使用适合输出数据位置的编码方案来转义数据。 OWASP 有一个综合页面讨论此问题:XSS (Cross Site Scripting) Prevention Cheat Sheet 。简短的回答:确保您正在使用“将不受信任数据放入的 HTML 文档部分的转义语法。

关于Php-MySql 插入 MySql 并从 MySql 获取到屏幕时的安全方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15741557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com