Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSL時にURLがフルパスになる条件が逆になっている #3972

Open
MKGaru opened this issue Nov 3, 2024 · 0 comments
Open

SSL時にURLがフルパスになる条件が逆になっている #3972

MKGaru opened this issue Nov 3, 2024 · 0 comments
Labels
Adjusting 調整中

Comments

@MKGaru
Copy link

MKGaru commented Nov 3, 2024

概要

baserCMS version : 5.1.3

ソースコード BcBaserHelper->getLinkでは、

 現在SSLの場合、特定の条件でフルパスとする
 - //(スラッシュスラッシュ)から始まるURL
 - http / https 以外のプロトコル
 - ハッシュタグから始まるURL

等の条件でフルパスになる挙動を想定したコメントに見えるのですが、挙動としては一部反転していそうです。

備考

検証コード:

function test($srcUrl) {
$full = false;
$installed = true;
$ssl = true;
if ($installed
    && ($ssl)
    && !(preg_match('/^(javascript|https?|ftp|tel|mailto):/', $srcUrl))
    && !(strpos($srcUrl, '//') === 0)
    && !preg_match('/^#/', $srcUrl)
) {
    $full = true;
}

echo ($full ? '(true)  ' : '(false) ') . $srcUrl."\n";
}

test('./test/ab');
test('/test/ab');
test('//test/ab');
test('data-app://test/ab');
test('https://example.com');
test('javascript://void 0');
test('#/test/ab');
(true)  ./test/ab
(true)  /test/ab
(false) //test/ab
(true)  data-app://test/ab
(false) https://example.com
(false) javascript://void 0
(false) #/test/ab
@ryuring ryuring added the Adjusting 調整中 label Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Adjusting 調整中
Projects
None yet
Development

No branches or pull requests

2 participants