我想让用户使用编辑器(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内容。
我该怎么办才能修复它?
答案 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代码');