我想知道何时是处理转义用户输入的最佳方式。
我想到了两个选择
1)用户将数据发送到服务器,我们对其进行转义,然后将其存储到数据库中 2)我们按原样存储数据并在向用户发送数据时对其进行转义。
对我来说,转义然后将数据保存到数据库似乎要容易得多,但是假设有人在我们的网站中找到了流量并设法避免转义,我们遇到了查找我们存储到数据库中的所有数据未转义的问题
另一方面,如果我们只是按原样存储数据,但一旦我们将其发送给用户就将其转义,即使有人在我们的网站上发现了流量,我们所要做的就是修复错误,因为我们的系统已经假设保存在数据库中的数据没有转义.
尽管第二种方法似乎更容易,但似乎更容易出错。假设我们在服务器上生成 HTML 并将其发送给用户,然后决定切换到仅通过 ajax 向用户发送内容,很容易忘记我们需要在将所有数据发送给用户或实现新的 API 或其他东西之前转义所有数据第三。
所以我想知道处理这个问题的更好方法是什么?