NL新增的外链跳转提示页面源码

收藏先

绿色还蛮好看的

@“James”#p202280 ok了

https://sx.sd/d/305

真是太难了。

@“James”#p202280 我觉得可以优化下背景 太绿了:xhj30:

@“米粒”#p202398 我觉得可以做成一个弹出窗口,不用搞弹出网页

@“James”#p202105 建议提供取消和确认跳转两按钮,手机端不好关闭

然后确认按钮点了就显示正在跳转,避免网络问题加载慢导致用户疯狂点

想起来一个黑产常用的功能, 使用链接跳转防止被系统删除违规网址,

比如说:

http://pxxnhub.com/ 是会被审查屏蔽的

但是, https://link.zhihu.com/?target=http://pxxnhub.com/ 等就是合法的, t.cn同理

支持一波 每次都能学到东西

@“知ら無い”#p204533 是这样,因为这些域名被加白了,可以绕过一些系统

@“James”#p204568 GPT加强:


```
/**

  • 检查是否为外部链接

  • @param string $url URL地址

  • @return bool 如果是外部链接返回 true,否则返回 false
    */
    private function isExternalLink($url)
    {
    // 如果 URL 为空,返回 false
    if (empty($url)) {
    return false;
    }

    // 处理特殊协议
    if (preg_match(‘/^(javascript|mailto|tel|sms|file):/i’, $url)) {
    return false;
    }

    // 如果是以 // 开头的协议相对 URL
    if (strpos($url, ‘//’) === 0) {
    $url = ‘http:’ . $url;
    }

    // 获取当前请求的主机名
    $currentHost = isset($_SERVER[‘HTTP_HOST’]) ? $_SERVER[‘HTTP_HOST’] : ‘’;
    $currentHost = rtrim($currentHost, ‘/’);

    // 解析 URL
    $urlParts = parse_url($url);

    // 如果 URL 无法解析或没有 host 部分(相对路径),认为是内部链接
    if ($urlParts === false || empty($urlParts[‘host’])) {
    return false;
    }

    // 标准化主机名(移除 www. 前缀并转为小写)
    $currentHost = strtolower(preg_replace(‘/^www./i’, ‘’, $currentHost));
    $urlHost = strtolower(preg_replace(‘/^www./i’, ‘’, $urlParts[‘host’]));

    // 检查域名是否在允许的内部域名列表中
    $internalDomains = [
    $currentHost,
    // 可以添加其他允许的域名
    // ‘subdomain.yourdomain.com’,
    // ‘otherdomain.com
    ];

    return !in_array($urlHost, $internalDomains, true);
    }
    ```

@“James”#p204568 能出个扩展么?让我们这些菜鸟用用