使用FILTER_SANITIZE_FULL_SPECIAL_CHARS后使用和验证RTF输入

问题描述 投票:0回答:1

我正在尝试验证TinyMCE编辑器提供的富文本输入。我非常了解让自己对XSS等保持开放,并希望做到这一点。

在使用以下代码对其进行任何处理之前,我先清理POST数据:

//sanitise POST array
$_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_FULL_SPECIAL_CHARS);

然后,我已经有了一个自定义的验证类来检查每个字段输入,因为它已经被清除了,但是...我不确定如何检查已清除的RTF输入。例如,我正在使用ctype-alpha来检查alpha输入和filter_var($ this-> currentObject-> value,FILTER_VALIDATE_EMAIL来检查有效的电子邮件地址,但是我不确定用于经过消毒的tinyMCE字段使用什么。

我认为我可能需要的是正则表达式?有谁知道正确的表达式来检查tinyMCE RTF输入?我在正确地进行此操作吗???

如果使用正则表达式,则可以使用下面的函数返回其是否有效:

//used to send a custom regex
function regex($regex, $errorMsg = null)
{
  if ($this->isValid && (!empty($this->currentObject->value))) {
    $this->isValid = (filter_var($this->currentObject->value, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "$regex")))) ? true : false;

    if (!$this->isValid) {
      $this->setErrorMsg($errorMsg, self::$error_regex);
    }
  }
  return $this;
}

思考

可以,但是我缺少任何字符吗?
^[a-zA-Z0-9\s&amp;|&\.\!?\;\\\-\<\>\/]*$

我正在尝试验证TinyMCE编辑器提供的富文本输入。我非常了解让自己对XSS等保持开放,并希望做到这一点。我先清理POST数据,然后再执行...

php validation richtextbox
1个回答
0
投票

您可以使用以下功能来清理用户输入。自定义正则表达式功能可能会有一些极端情况。

© www.soinside.com 2019 - 2024. All rights reserved.