首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何防止用户使用JavaScript复制其IP?

如何防止用户使用JavaScript复制其IP?
EN

Stack Overflow用户
提问于 2020-04-04 18:00:15
回答 1查看 71关注 0票数 0

在我的网站上,一个用户有一个活动日志,他可以访问这个日志来查看他最近的行为。在这些操作中,只为用户显示IP,例如:

代码语言:javascript
运行
复制
2020-04-04-09:59:02 Action X 192.168.1.251  You did Action X bla bla bla

当然,IP通常是客户端的外部IP。

我想做的是,当用户复制他的活动日志时,屏蔽/隐藏ip,这样他就不会错误地将它显示给其他人。

我试过的是下一个:

代码语言:javascript
运行
复制
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();
});

当我试图复制文本并粘贴到这里时,我得到:

代码语言:javascript
运行
复制
2020-04-04-09:59:02 Action X 1 You did Action X bla bla bla

代码几乎可以工作,但我一直得到这个1。我还没找到解决办法。

JSFiddle:https://jsfiddle.net/aoq1k9nu/

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-04 18:10:50

如果您不担心类似于ipv4地址的其他事情,则可以简化正则表达式:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/

或者如果你想从https://www.regular-expressions.info/ip.html那里更加小心的话

代码语言:javascript
运行
复制
/\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/
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61032434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档