gpt4 book ai didi

php - 使用htmlentities方法时的编码问题

转载 作者:可可西里 更新时间:2023-10-31 23:11:13 24 4
gpt4 key购买 nike

我在 php 中遇到字符编码问题,所以这是 php 代码:

n_event=$_GET['ndlann'];
$nom_complet=htmlentities(stripslashes($_POST['nom']));
$email_comment=htmlentities(stripslashes($_POST['email']));
$titre_comment=htmlentities(stripslashes($_POST['titre']));
$texte_comment=htmlentities(stripslashes(nl2br($_POST['commentaire'])));
$pays_comment=$_POST['pays'];
$date_ajout=date('Y/m/d');

数据会添加到一个数据库表中,你看这个数据来自一个评论表,所以当用户输入一些带有东方语言字符(阿拉伯语、希伯来语...等)的评论时,输入数据将变为类似这样的内容:

Ø´Ù�را عÙ�Ù� اÙ�Ù�Ù�ضÙ�Ø

我尝试删除 htmlentities 方法并且工作正常,但确实引发了另一个评论表单安全问题(将执行 js 脚本)

遇到这种情况我该怎么办?

谢谢

最佳答案

永远不要使用 htmlentities()。

这个功能很久以前就被废弃了。请改用 htmlspecialchars()

你的代码里也有一堆废话

  • htmlentities(nl2br(*)) 没有任何意义。

  • 仅当设置了魔术引号时才使 stripslashes 成为条件。

  • pays 字段可能存在问题。

  • 我还担心您将 htmlentities 作为某种 SQL 转义函数。我说得对吗?

关于php - 使用htmlentities方法时的编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4792342/

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