【问题标题】:Python - sanitizing href by character parsingPython - 通过字符解析清理href
【发布时间】:2015-01-24 02:58:25
【问题描述】:

我知道的: 如果恶意用户执行以下操作,他可能会在 href 标记内做一些淘气的事情:

<a href "www.somesite.com" [event] = ‘code’>

事件类似于鼠标悬停,代码是恶意的。

我想允许正常的href,但删除.com 之后的" 和关闭href 的&gt; 之间的任何内容。 我正在考虑寻找字符串href,计算2个引号,然后删除第二个引号和&gt;之间的所有内容。

这行得通吗?如果是这样,我将如何编码?

【问题讨论】:

  • 您如何期望用户“在 href 标记内做些淘气的事情”?您是否担心有人使用 Greasemonkey 或其他东西入侵您的服务器?你需要举一个更具体的例子来说明你在说什么。

标签: python href


【解决方案1】:

对于名为input 的字符串,此表达式为您提供第二个双引号字符的位置:

input.index('"', input.index('"')+1)

如果该值为 k,则写入 input[:k+1] 以提取直到并包括第二个双引号字符在内的所有内容。

在您的 Python 解释器中尝试以下操作。

input = 'href = "www.google.com" onmouseover=hax0rFunction()>'
k = input.index('"', input.index('"')+1)
input[:k+1]

【讨论】:

  • 请注意,您也可以将它们替换为&amp;quot;
猜你喜欢
  • 2016-07-17
  • 2014-12-17
  • 2021-12-11
  • 1970-01-01
  • 2021-01-16
  • 2015-07-13
  • 1970-01-01
  • 1970-01-01
  • 2015-06-09
相关资源
最近更新 更多