首页 > 数据库 > mysql教程 > MySQLi 的'要么死”:安全风险还是必要之恶?

MySQLi 的'要么死”:安全风险还是必要之恶?

DDD
发布: 2025-01-03 06:17:08
原创
736 人浏览过

MySQLi's `or die`: Security Risk or Necessary Evil?

你真的需要 MySQLi 吗?

使用 MySQLi 查询是常见的做法,如下面的代码所示:

$update_result = mysqli_query( $link , $sql_update_login ) or die ('Unable to execute query. '. mysqli_error($link));
登录后复制

但是,这样做也有缺点方法:

  • 安全风险:模具可以向攻击者泄露敏感的系统信息。
  • 用户混淆:错误消息可能会混淆非技术用户。
  • 执行不完整: die 停止脚本过早地导致用户没有友好的界面。
  • 缺乏错误位置: die 没有提供错误发生位置的指示。

而不是手动检查错误,考虑配置 MySQLi 在错误时抛出异常:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
登录后复制

这样,可以编写任何 mysqli 命令,而无需need for or die:

$result = mysqli_query($link, $sql);
登录后复制

如果出现错误,将抛出异常,并提供有关问题的详细信息。

为了更彻底的生产就绪方法, PHP 中统一、高效的错误报告,请参阅 PHP 错误报告文章。

以上是MySQLi 的'要么死”:安全风险还是必要之恶?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板