0

我有一个控件,允许从 Youtube 或 Vimeo 输入嵌入视频代码。验证用户输入数据以防止代码注入攻击的最佳方法是什么?

PS:我不想存储模板,只允许用户输入 URL。视频服务可以随时更改其 API。

4

1 回答 1

1

虽然在我看来,您的逻辑可能并不完全合理(因为如果您害怕视频服务随时更改其 API,那么您应该同样害怕(如果不是更多)相同的视频服务更改其嵌入格式),这可能是一个两步过程。

1)验证输入的内容是受信任的 HTML(如何执行此操作将完全取决于您的实现......例如,在 javascript 中执行此操作与在 Python、PHP 等后端执行此操作有很大不同) . 如果您提供有关设置的更多详细信息,您可能会获得更有针对性的响应。可能您最终会得到 RegEx 解决方案或基于解析器的解决方案(例如,我使用 Beautiful Soup 来进行 Python 标记验证、清理和排除)。

2) 验证您已收到视频源的可用数据——这也可以是正则表达式,但您可能想要获取属性值并执行快速 API 调用(例如,到 Youtube 视频列表端点)以确保您得到有效的响应。

于 2013-07-14T16:27:07.067 回答