问题标签 [markup]

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 投票
1 回答
1216 浏览

regex - 正则表达式和 XSS 上的“战争”

我一直对编写像论坛或博客这样的网络软件很感兴趣,这些东西需要有限的标记才能重写为 HTML。但是最近,我越来越多地注意到对于 PHP,尝试谷歌搜索“PHP BBCode parser -PEAR”并测试一些,你要么得到一个低效的混乱,要么你得到的代码很糟糕,到处都是 XSS 漏洞。

以我之前提到的例子为例,在那些糟糕的 BBCode 解析器中,你将如何避免 XSS?我现在将使用您的典型正则表达式来处理链接,您可以提及它的脆弱性以及如何避免它。

处理图像标签几乎没有比这更安全的了。

所以我有几个具体的问题,主要是针对 PHP 实现的。

  1. 在此示例中,仅使用 uri/url 验证表达式进行匹配是否更好?或者,最好使用(.*?)回调,然后确定输入是否是有效链接?正如上面显而易见的javascript:alert('XSS!')那样,在上面的 URL 标记中可以工作,但如果完成 uri 匹配,则会失败。
  2. 回调中的函数怎么样urlencode(),它们会是什么威慑或问题(就 URI 标准而言)?
  3. 编写全栈解析器会更安全吗?或者,对于每页处理多个不同条目的东西来说,开发和使用这样的东西所需的时间和处理能力是否太重了?

我知道我的示例是众多示例之一,并且比某些示例更具体。但是,不要逃避提供自己的。 因此,我正在寻找文本解析情况下 XSS 保护的原则和最佳实践以及一般建议。

0 投票
3 回答
174 浏览

.net - 如何搜索允许标记的数据库列?

可以使用 markdown、bbcode、html 等将文本存储在数据库中。我应该从搜索词中删除任何允许的标签吗?您的标记解析器是否有任何方法可以帮助完成该任务?

我打算使用类似 '%searchword%' 的查询。全文搜索是否为这种简单的文本搜索提供了任何优势?

更新:似乎有很多方法可以做到这一点。我会再澄清一下我的情况。这是一个公司的招聘网站,大约有 5 或 7 个 varchar 列可供搜索(其中 4 个允许标记),在任何给定时间大约有 150 个有效的招聘信息。

0 投票
3 回答
12424 浏览

xml - SGML 和 XML 有什么区别?

所有的谷歌结果都很糟糕。

0 投票
6 回答
3990 浏览

html - 为图像添加字幕

使用最新的 HTML/CSS 在网络上为图像添加字幕的最简洁方法是什么?请演示代码。

0 投票
2 回答
407 浏览

html - 作为语义标记的一部分

我开发的其中一个网站有很多相互关联的信息;我们有公司,我们为这些公司提供产品。公司页面链接到列出该公司产品的页面,反之亦然。

HTML 规范

CITE:包含对其他来源的引用或引用。

这是否意味着我可以(语义上)将 a<cite>用于公司链接?公司页面上的产品怎么样?

如果没有,有人能告诉我这可能是什么“正确”的语义标签吗?

0 投票
3 回答
1998 浏览

xhtml - 在 XHTML 中标记推荐的最佳方式是什么?

我曾经只是为此使用pspan元素......但我一直在努力使用正确的元素,这是我之前在推荐方面没有真正考虑过的事情。

这就是我的想法...

这看起来像是最好的方法吗?有最佳实践吗?

我查看了他们网站上的W3C 标记推荐,他们使用了...

我应该只是复制 W3C 的做法,毕竟它们不应该是正确的吗?

0 投票
4 回答
3459 浏览

html - 是否有任何独立的 HTML 标记验证工具

除了在 W3C 网站上提交单个网页进行验证之外,是否有任何独立的工具可以完成这项工作。

理想情况下,这将是一个可以在设计时捕获错误的 Visual Studio 插件,但只需要在本地运行一个 wep 应用程序 url 的插件会很好。

开源建议会更好

0 投票
2 回答
1156 浏览

lucene - Mediawiki + Lucene:如何剥离标记?

我的 Lucene 搜索扩展 ( http://www.mediawiki.org/wiki/Extension_talk:Lucene-search ) 与我的 mediawiki 安装集成。这一切都运行得非常好,但是 - lucene 似乎也索引了所有 mediawiki /html 标记,并且它显示在结果中。

即搜索“绿色”将返回带有标记的结果,例如 style="background:green; color:white

有没有办法去除所有标记的搜索结果?我相信维基百科使用相同的搜索插件,他们是怎么做的?

0 投票
4 回答
745 浏览

php - PHP:显示修剪后的 HTML 标记时出现 HTML 标记问题

我正在使用 Richtext 框控件在一页中发布一些数据。我正在使用 HTML 标记将数据保存到我的 db 表中 例如:这是 <b >my bold </b > text

我在另一页中显示此列的前 50 个字符。现在当我保存时,如果我保存一个带有粗体标签的句子(超过 50 个字符),并且在我修剪它时(用于获取前 50 个字符)在我的其他页面中,我会丢失结束 b 标签(</b> ) 。因此,粗体将应用于我在该页面中的其余内容。

我该如何解决这个问题?我如何检查哪些所有打开的标签都没有关闭?有没有简单的方法在 PHP 中做到这一点。是否有任何功能可以删除我的整个 HTML 标签/标记并将句子作为纯文本给我?

0 投票
2 回答
145 浏览

asp.net - 如何在 .Net 中测试字符串(网页)的标记有效性?

我写了一个 VB.Net 页面来浏览我的网站。它将 HttpWebResponse 存储在一个字符串中。如何在 .Net 中验证页面的标记有效性?- 类似于 W3 的 validate by direct input 选项。我正在寻找可以识别 DOCTYPE、验证它是或否并返回我可以显示的故障列表的东西。