Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 用于警告外部链接的Office 365 Exchange传输规则_Regex_Expression_Office365_Exchange Server - Fatal编程技术网

Regex 用于警告外部链接的Office 365 Exchange传输规则

Regex 用于警告外部链接的Office 365 Exchange传输规则,regex,expression,office365,exchange-server,Regex,Expression,Office365,Exchange Server,我需要帮助 我在英国的一家医院为NHS工作,我们收到了很多网络钓鱼攻击。有些是专门针对我们的域名用户的——有些人真的没有任何道德 我知道员工们需要更加警惕地识别网络钓鱼电子邮件,但目前他们有太多其他事情需要担心当前的新冠疫情 我正在尝试在Exchange Online(Office 365)中创建传输规则,以警告收件人(内部/外部)任何包含http/https链接的电子邮件(入站/出站/内部)不在一组定义的域内 我已经找到了一个有效的正则表达式,并在以下链接中给出了一些示例: 表达方式是: h

我需要帮助

我在英国的一家医院为NHS工作,我们收到了很多网络钓鱼攻击。有些是专门针对我们的域名用户的——有些人真的没有任何道德

我知道员工们需要更加警惕地识别网络钓鱼电子邮件,但目前他们有太多其他事情需要担心当前的新冠疫情

我正在尝试在Exchange Online(Office 365)中创建传输规则,以警告收件人(内部/外部)任何包含http/https链接的电子邮件(入站/出站/内部)不在一组定义的域内

我已经找到了一个有效的正则表达式,并在以下链接中给出了一些示例:

表达方式是:

https?:\/\/[\w\d\.]*(

  • http://或https://
  • 零个或多个子域(包含字母、数字、点)(如果存在)
  • 回溯与CorrectDomain1.co.uk或CorrectDomain2.com或CorrectDomain3.org不匹配
  • 下一个字符是正斜杠、双引号、制表符、CR、LF和空格
  • 有效域的列表包括:

    • CorrectDomain1.co.uk
    • CorrectDomain2.com
    • CorrectDomain3.org
    应匹配任何其他域或子域,并在电子邮件顶部添加消息:

    警告:此电子邮件包含指向我们组织外部的链接-如果要求您输入用户名或密码,请小心

    当我在交换中使用这个时,除了一个,所有的东西都工作得很好

    这不起作用:

    这确实有效:
    ,这确实有效
    http://www.WrongDomainA.co.uk

    我知道区别在于结尾的斜杠,但我用纯文本发送电子邮件时没有包括斜杠,这很有效

    如果您有任何关于如何改进此功能的想法和帮助,我们将不胜感激。-我在365安全与法规遵从性中找不到类似的功能

    [注1:我可能应该在步骤4中包括一个冒号,以适应端口]

    [Note2:我确实尝试过合并域
    (?),但它在regex101测试中不起作用,因为lookback断言必须是固定宽度的]


    [注意3:我被Exchange限制,因为:您无法配置具有多个匹配条件的组的模式,如(.*,.+,.{0,n}或{1,n})。请从模式中删除组或多个匹配条件以继续。]

    也许您可以实际使用正向前瞻?
    \bhttps?:\/\/(?!(?:[a-zA-Z0-9]+\。)*(?:CorrectDomain1\.co\.uk | CorrectDomain2\.com | CorrectDomain3\.org)\b[\/“\s])[^\/“\s]+
    ()谢谢@kishkin,不幸的是,这抛出了我在注释3中的错误。因为在
    ?(
    中有一个
    *