使用CodeIgniter将html插入数据库

时间:2013-02-22 22:02:29

标签: php codeigniter

我想让用户使用编辑器(CKEditor)编辑页面。

问题是我想要阻止XSS,所以当我使用时:

$this->input->post('content', TRUE)

它还删除了一些html conent,例如,以下代码:

<script></script><p><span style="color:#800000;">text</span></p>

成为:

[removed][removed]<p><span 

是的,它会阻止XSS,但也会删除一些必要的html内容。

我该怎么办才能修复它?

3 个答案:

答案 0 :(得分:3)

请勿使用其内置的XSS功能。使用HTML purifier为您执行此操作。这样你就可以更好地控制什么是被删除的东西。

答案 1 :(得分:0)

试试这个简单的方法把这段代码 import pandas as pd import glob import os import time path = r'filepath' all_files = glob.glob(os.path.join(path, '*.xlsx')) individual_df = (pd.read_excel(f) for f in all_files) combined_df = pd.concat(individual_df, ignore_index=True) TypeError Traceback (most recent call last) <ipython-input-5-4d7281cf16f8> in <module> 1 material_usage_individual_df = (pd.read_excel(f) for f in all_files) ----> 2 combined_usage = pd.concat(material_usage_individual_df, ignore_index=True) ~\Anaconda3\lib\site-packages\pandas\core\reshape\concat.py in concat(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy) 283 ValueError: Indexes have overlapping values: ['a'] 284 """ --> 285 op = _Concatenator( 286 objs, 287 axis=axis, TypeError: __init__() got an unexpected keyword argument 'xWidnow' 改成 $this->input->post('content', TRUE) 对我有用,因为 codeigniter 在运行 $_POST['content'] 时会做 XSS 过滤

答案 2 :(得分:-1)

而不是这个,你可以使用下面的代码。

$ content = htmlspecialchars($ this-&gt; input-&gt; post('content'));

保存到数据库,在检索时,您可以使用

htmlspecialchars_decode('你的html代码');