我应该为数据库中的 html 文本使用哪种类型?

Yur*_*aci 5 php mysql tinymce phpmyadmin

我有一个插入了 tinyMCE 的文本区域,其中将包含我希望保存到数据库中的 HTML 代码。

我想按原样保存该 html 代码,以便能够随时打印,甚至能够将其写入文件 (using fopen("filename","w"); )

由于我正在设置将要使用的表格,因此我不知道应该将哪种类型的记录分配给我的数据库中的此 html 文本。

我是不是该..:

  • 使用addslashes/stripslashes时,我保存/盖章,HTML文本?
  • 或者htmlencodechars/decodechars
  • 或者根本没有?

MrC*_*ode 2

使用HTMLPurifier从 HTML 中去除任何恶意 XSS 代码。TinyMCE 尝试执行此操作,但可以通过直接发布到脚本来绕过它。

存储数据时,使用参数化查询/准备语句而不是转义,以防止 SQL 注入。PDOMySQLi可以做到这一点。这是一个很好的 PDO 教程,特别是如果您来自本机 mysql_* 库。

至于数据类型,任何字符串类型都可以,这取决于您的内容有多长。