问题标签 [htmlspecialchars]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
512 浏览

php - htmlspecialchars 删除格式

我在一个类的另一个函数中调用 htmlspecialchars 函数,但是当我这样做时,即使显示数据,它也会删除在一行中显示数据的所有格式。

这是代码:

如果我删除对 htmlspecialchars 函数的引用,它将按应有的方式显示数据。

更新:

这是我应用的CSS:

$row['cQuotes'] 和 Author 变量中没有 html。它是在实现 htmlspecialchars 时删除的 css 格式。

我注意到的另一件事是,如果我删除ENT_QUOTES它,它可以工作,但再次使用它,它会删除格式。为什么会这样?

0 投票
1 回答
2556 浏览

php - 使用 PHP 格式化 HTML 代码以纯文本输出

我有这个函数从数据库中获取一些用户提交的 HTML 代码:

我会这样称呼它echo code($query->row('html'));。我知道我的问题缺乏“深度”,但这是最好的方法吗?或者是否可以解析输出的格式(例如 Javascript 注入),或者在某些机器上无法正确输出等?

谢谢!

杰克

编辑:我有一个新的(相关)问题:我想使用highlight_string(). 但是,我无法使其正常工作。我我明白为什么,但不太确定如何纠正这个问题。

正如你所看到的,我正在使用highlight_string()它。但是,输出根本没有突出显示,而是作为字符实体(<、'>' 等)输出。如果我将函数排序改组为:

return "<pre><code>".nl2br(htmlspecialchars(highlight_string($code)))."</code></pre>";

我发现字符实体没有输出,但字符串仍然没有突出显示。澄清一下,我没有 CSS 格式会影响应用的文本颜色。此外,我检查了我的 PHP 设置,其中肯定有指定的突出显示颜色。

0 投票
3 回答
2952 浏览

php - 如何保护表格?

我正在阅读有关表单安全性的文章,因为我有一个用户可以在其中添加消息的表单。

我读到最好使用strip_tags(),htmlspecialchars()nl2br(). 据说在其他地方使用html_entity_decode().

我的页面中有这段代码,它接受用户输入

但是当我回显该消息时,它都在一行上,并且似乎中断已被删除strip_tags而不是被放回nl2br()

对我来说,为什么这样做是有道理的,因为如果中断已被删除,它如何知道将其放回哪里(或这样做)?

无论如何,我正在寻找一种方法来保护我的表单,以免我被用来尝试破解网站,就像在表单中使用 javascript 一样。

0 投票
6 回答
39451 浏览

php - htmlspecialchars():参数中的多字节序列无效

我在本地站点中收到此错误。

有谁知道,这是什么问题或应该是什么解决方案?

谢谢。

0 投票
3 回答
551 浏览

php - 删除 HTML 特殊字符

0 投票
1 回答
1121 浏览

php - 尝试使用 UTF-8 字符串时 PHP htmlspecialchars() 函数错误

我做了以下事情:

  1. 我有一个包含数据的电子表格。其中一行中有一个 ü 字符。
  2. 我将它保存为 OpenOffice.org 中的 CSV 文件。当它要求我输入字符编码时,我选择 UTF-8。
  3. 我使用 Navicat 创建 MySQL 数据库表,InnoDB 使用 UTF-8 utf8_general 编码并导入 CSV。
  4. 我尝试使用 PHP 函数htmlspecialchars($string, ENT_COMPAT, 'UTF-8'),其中$string包含特殊 ü 字符的字符串。

它给了我一个错误:Invalid multibyte sequence in argument。当我用 更改'UTF-8''ISO8859-1',不会引发错误,但会显示不正确的字符。(“未知字符”字符,看起来像<?>

如果我使用 HTML 表单更新数据库中的字符串,错误消失并且字符正确显示,但是,当我在 Navicat 中查看记录时,它看起来是两个字符:

[1/4][A with some thing on top of it]

一些不被视为一个字符的多字节。`

发生了什么事,哪里出了问题,我能做些什么?

0 投票
2 回答
4798 浏览

php - 如何用 php 替换 - with -

我如何替换-&ndash;使用 phphtmlspecialchars()

$content = $_POST['content'];

0 投票
1 回答
410 浏览

php - EUC-jp 中的 XSS over htmlspecialchars

日文字符集 euc-jp 制作 xss 吗?

我将获取参数 a 作为 %f0 然后:

我有那种不好的感觉

我很高兴你给我一些例子

0 投票
1 回答
385 浏览

php - 如何阻止 HTMLpurifier 在 Markdown 中转义 PHP 速记语法示例?

我正在使用 markdown 和 HTMLpurifier,我想<?= $variable ?>在 markdown 代码(使用缩进语法)中有简写 PHP () 的示例,但是 HTMLpurifier 没有将标记识别<为允许的元素并且正在转义它。

知道我需要在 HTMLpurifier 中启用什么配置选项来阻止它转义吗?

0 投票
2 回答
1918 浏览

php - php XML DOM 将特殊字符转换为 &#xYY;

我用 AJAX POST 发送这个:

我这样做是为了创建 XML:

我明白了:

¿Dónde habré olvidado...我的记忆?

翻译为:

我需要 XML 中的原始字符,这些是 utf-8 有效的,我不知道这种编码的原因:(