问题标签 [user-generated-content]

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 回答
128 浏览

ruby-on-rails - 构建用户生成内容的“编辑批准”版本的 Active Record 范围

我运行一个类似于 StackOverflow 的网站,用户可以在其中发布内容(帖子)。还有一个首页展示了我们的编辑挑选的特色帖子。

我希望允许我们的用户随时编辑他们的帖子,同时仍然确保没有任何内容出现在我们的首页上,除非它首先由我们的编辑审查。

为了解决这个问题,我想我们可以实现一个版本控制系统,比如在我们发布帖子时paper_trail存储当前版本。version_id通过这种方式,我们可以简单地在首页上获取经过编辑审核的内容,同时仍然在网站的不太重要的部分(例如用户的个人资料)上显示最新版本。我们的编辑可以定期审查任何更改并批准这些更改。

我想知道最干净的方法是什么,它允许我在某些控制器中选择经过审核的版本,在其他控制器中选择最新版本,同时保持共享界面和最少的重复代码。


理想的解决方案将涉及一个reviewed范围,因此我可以简单地执行Post.reviewed并取回已审核的版本,并Post.all获取最新版本。

不过我不知道该怎么做,因为获得审查的版本需要反序列化对象 PaperTrail 存储(version.reify),这在范围内似乎是不可能的。

我可以像这样使用类方法:

def self.reviewed all.map do |post| Version.find(post.version_id).reify end.compact! || Post.none end

但是,这不太理想,因为它不是真正的范围,因此不可链接等。

或者,我可以使用 Post 实例方法,例如:

def reviewed_version Version.find(version_id).reify end

这在理论上可行,但这意味着我现在必须在我的所有视图中调用此方法,而获取正确数据是控制器的责任。假设我render collection: @posts在首页和用户资料上都有一个,我的_post.html.erb部分如何知道是否打电话reviewed_version


我没有绑定到 PaperTrail,但它有很多我不想复制的细节。但是,如果 PaperTrail 太不灵活,我愿意探索其他方向。

FWIW,我也看过Draftsman,但它认为“草稿”是例外(即在大多数情况下,您不会显示草稿),而在我的情况下,我想在大多数页面上显示最新版本,除了像首页这样的少数几个。

0 投票
1 回答
30 浏览

javascript - 具有用户生成内容的菜单选项

我想创建一个包含用户输入选项的菜单。用户输入很可能存储在 JSON 对象中。

一种方法是 jstree。但是那里有什么好的选择吗?

0 投票
2 回答
449 浏览

javascript - HTML / Javascript:我应该为 alt 属性(标签)编码、转义或清理用户生成的字符串吗?

alt关于是否需要对用户生成的 HTML 属性(例如图像的属性)进行编码、“转义”或“清理”它们,似乎有许多公认的答案。

我想知道:如果我为 img 元素呈现用户生成的 alt 属性,我应该如何对它们进行编码(如果有的话),我应该同时编码和清理吗?我应该消毒和逃跑吗?

如果我知道任何字符都有可能显示我应该如何处理这个用户生成的字符串,然后再将其设置为 alt 属性?

0 投票
1 回答
317 浏览

node.js - 如何在 express js 中在用户生成的内容站点上生成站点地图?

我正在使用 expressjs 创建一个用户生成的内容站点。如何将这些生成的内容的 URL 添加到站点地图并自动完成?

当用户删除帐户或删除内容时,还需要通过站点地图将其从这些 URL 中删除。

我尝试了为 express js 创建的站点地图构建器 npm 包,但它们都没有按我的意愿工作,或者预期用途与我的预期用途不同。

0 投票
2 回答
249 浏览

accessibility - WCAG 2.1 AA 合规性和用户生成的内容 - 您如何处理不受您控制的内容?

我无法找到有关 WCAG 2.1 合规性和用户生成内容的明确信息。如果站点的最终用户创建或上传的内容不符合要求,站点是否会不符合要求?

一些示例可能是用户上传不带字幕或副标题的视频内容,或包含闪烁内容的 gif,或使用页面编辑器根据个人喜好在整个页面中创建不同级别的 html 标题标签,但可能会干扰屏幕阅读技术等。 ..

您如何处理您无法控制的内容?

0 投票
0 回答
111 浏览

unity3d - 您可以在 Unity 中添加脚本中的可寻址对象吗?

想象一下,您希望您交付的游戏中的玩家能够向您的游戏添加不同的图块,然后将它们作为可寻址对象保存在 mod 文件夹中。然后可以共享此文件夹,以便其他人可以安装它。

我将如何使脚本添加可寻址对象?

0 投票
0 回答
12 浏览

file - C# 检查文件类型是否已更改

我一直在开发一个节奏游戏,叫做节奏粉碎者,用户可以在其中上传歌曲。
麻烦的是,他们会上传恶意软件等。我想知道是否发生了两件事之一;
他们上传的文件已经改变了它的类型(是.txt、.mp4、是.mp3)或算法(或类似的)检测到它应该是不同的文件类型
非常感谢任何帮助,谢谢!

0 投票
1 回答
35 浏览

security - 像 neocities 这样的网站建设者如何处理跨站点脚本和清理?

在 Neocities 编辑器中,似乎可以输入易受攻击的文本,这将在浏览器中运行(如下图所示的 onload 警报)。Neocities 是否有任何安全措施来清理用户生成的页面并解决漏洞?

新城市编辑