如何在输入消毒后正常从数据库返回数据?

时间:2017-10-10 20:03:08

标签: php sql curl vue.js html-encode

我有这个网络应用程序,大约有15个不同的文件处理用户输入。

每次我接受用户输入时,它都会使用filter_var()函数清理特殊字符,因为没有任何注入和诸如此类的东西。

但是,我一直在遇到这个问题,即数据被返回到前端,那些特殊字符仍然被编码,如下所示:

"'Sample & 'Code'"

成为并且像...一样前进到前端。

 "'Sample & 'Code'"

或类似的东西;我想我的意思是。

我当前的策略是进入后端的每个文件并使用

html_entity_decode(htmlspecialchars_decode([text], ENT_QUOTES))

到可能有用户输入的每个输出。

因此,我的问题是,是否有更有效的方式来做到这一点。我在前端使用Vue来卷曲从后端接收的数据,所以我认为如果我在前端而不是后端执行它可能会花费相同的时间。有什么建议吗?

在将数据编码到我的数据库之前,我可能应该记住当前的策略,但我希望有人可以给出答案,以便在将来的项目中帮助我。

1 个答案:

答案 0 :(得分:0)

对于php,您可以使用json_encode()功能:

public function getSomeData() {
    ...
    return json_encode('Sample & 'Code');
}

我的假设是,如果您执行var_dump('Sample & 'Code'),则会打印出'Sample & 'Code'