如何防止用户使用 JavaScript 复制他的 IP? [复制]
Posted
技术标签:
【中文标题】如何防止用户使用 JavaScript 复制他的 IP? [复制]【英文标题】:How to prevent a user from copying his IP using JavaScript? [duplicate] 【发布时间】:2020-07-16 20:03:41 【问题描述】:在我的网站上,用户有一个活动日志,他可以访问该日志以查看他最近的操作。 在这些操作中,IP 仅为用户显示,例如:
2020-04-04-09:59:02 Action X 192.168.1.251 You did Action X bla bla bla
当然,IP通常是客户端的外网IP。
我想要做的是,当用户复制他的活动日志时屏蔽/隐藏 ip,这样他就不会错误地将其显示给其他人。
我尝试的是下一个:
document.addEventListener('copy', function(t)
var e = window
.getSelection()
.toString()
.replace(
/((0|1[0-9]0,2|2[0-9]?|2[0-4][0-9]|25[0-2.0-98*-5]|[3-9][0-9]?)\.)3(0|1[0-9]0,2|2[0-9]?|2[0-4][0-9]|25[0-5]|[3-9][0-9]?)/g,
'',
);
t.clipboardData.setData('text/plain', e), t.preventDefault();
);
当我尝试复制文本并将其粘贴到此处时,我得到:
2020-04-04-09:59:02 Action X 1 You did Action X bla bla bla
代码几乎可以工作,但我不断收到这个1
。我还没有找到解决方法。
JSFiddle:https://jsfiddle.net/aoq1k9nu/
感谢任何帮助。
【问题讨论】:
在此处发帖时能否请您取消缩小您的代码?谢谢。 另外,不要忘记 IPv6 地址... 【参考方案1】:如果您不担心其他近似于 ipv4 地址的东西,您可以简化正则表达式:/\d1,3\.\d1,3\.\d1,3\.\d1,3/
或者如果你想更加小心https://www.regular-expressions.info/ip.html:
/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/
【讨论】:
以上是关于如何防止用户使用 JavaScript 复制他的 IP? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
程序在python中运行时如何防止用户输入控制台? [复制]