当前位置: 首页 > 面试题库 >

如何清理和清理用户提交的URL,以便在Java中重新显示?

赵鸿畴
2023-03-14
问题内容

我希望用户能够提交一个URL,然后将该URL作为链接显示给其他用户。

如果我天真地重新显示了用户提交的内容,我将保持开放状态,例如

http://somesite.com' ><script>[any javacscript in here]</script>

当我将其重新显示给其他用户时,会做一些令人讨厌的事情,或者至少会使我看起来很专业,因为没有阻止它。

是否有一个库(最好是用Java语言编写)可以清除url,以便保留所有有效的url,但清除任何漏洞利用/诱骗行为?

谢谢!


问题答案:

您可以使用apache验证器
URLValidator

UrlValidator urlValidator = new UrlValidator(schemes);
if (urlValidator.isValid("http://somesite.com")) {
   //valid
}


 类似资料:
  • 问题内容: 在对它们提供哈希值并将其存储在数据库中之前,应如何转义或清除用户提供的密码? 当PHP开发人员出于安全目的考虑对用户密码进行哈希处理时,他们通常会像对待其他任何用户提供的数据一样考虑这些密码。这个主题经常出现在与密码存储有关的PHP问题中。开发人员通常希望在散列密码并将其存储在数据库中之前使用诸如(在各种迭代中),和等功能清除密码。 问题答案: 出于多种原因,您永远都不应逃脱,修整或使

  • 我刚刚注意到我的笔记本电脑上的磁盘空间用完了。通过发现,Docker使用了很多: 文件夹包含152个以结尾的文件夹。 我已经运行了以下命令来清理 什么是,为什么它会消耗那么多空间,我如何清理它? 我有Docker版本17.06.1-CE,版本874A737。它是在一次清理之后发生的,所以这肯定还是一个问题。

  • null 正如https://stackoverflow.com/a/51845202/2674303的注释中提到的,我可以在metadataStore表中添加额外的列,在该列中我可以标记消息是否已处理。根本不是问题。但是我如何在我的清洁器中使用这个标志呢?MetadataStore只有键和值

  • 问题内容: 我正在尝试将CS​​V文件读入(字符串的)列表列表,将其传递以从数据库中获取一些数据,构建新数据列表的新列表,然后传递该列表列表,以便写入新的CSV文件。我到处都看了,似乎找不到如何做的例子。 我宁愿不使用简单的数组,因为文件的大小会有所不同,而且我也不知道该如何使用数组的尺寸。我没有处理文件的问题。我只是不确定如何处理列表列表。 我发现的大多数示例都将创建多维数组或在从文件中读取数据

  • 问题内容: 是否有某个功能全面的功能可以很好地用于清理用户针对SQL注入和XSS攻击的输入,同时仍然允许某些类型的HTML标签? 问题答案: 常见的误解是可以过滤用户输入。PHP甚至有一个(现在已弃用的)“功能”,称为magic-quotes,它基于此思想。废话 忘记过滤(或清洁,或任何人称呼它)。 为避免出现问题,您应该做的事情很简单:每当将字符串嵌入外部代码中时,都必须根据该语言的规则对其进行

  • 然而,它没有工作,而不是我得到了这个错误 var模板=新错误(this.message);^unknownerror:{“errormessage”:“securityerror:DOM Exception 18”,“request”:{“headers”:{“accept-encoding”:“gzip,deflate”,“connection”:“keep-alive”,“content-le