奇怪的PHP编码代码.任何理由


Weird PHP Encoding code. Any reason?

我正在检查一些"遗留"代码,发现了一些我不太理解的东西。下面是代码:

$name = $_POST['name'];
$name = htmlspecialchars_decode($name);
$name = addslashes($name);
$name = htmlentities($name, ENT_NOQUOTES, 'UTF-8');
$name = html_entity_decode($name);
InsertIntoDatabase($name); //SQL server

我理解每一行,但我的问题是:

为什么程序员要这么做?

一开始,所有这些代码似乎都是无用的。htmlentitieshtml_entity_decode相互无效,htmlspecialchars_decode似乎无用,addslashes实际上通过在每个'之前添加'在我们的数据库中插入垃圾;

所以,我想把它全部删除,但让我感到困扰的是,以前的开发人员在代码库中到处添加了该构造。他一定有充分的理由。对吧?

我们(仍然)使用php 5.3。知道他为什么这么做吗?

这太过分了,如果你想删除HTML字符,只有htmlentitieshtmlspecialchars才有用

但是,您仍然应该看到这些值是如何在数据库中存储和使用的,因为添加斜杠是指定转义字符的旧方法