@ 2015-12-23T12:05:36Z <?php
$hostname = "lekkere.koekjes.men";
$certificates = json_decode('[{"commonName":"*.men"},{"commonName":"*.hans.nl"},{"commonName":"*.koekjes.men"}]');
$hostnameParts = explode(".", $hostname);
foreach ($certificates as $certificate) {
// commonName = *.lekkere.koekjes.men
// hostname = www.lekkere.koekjes.men
$commonName = $certificate->commonName;
$commonNameParts = explode(".", $commonName);
for ($i = 0; $i < max(count($commonNameParts), count($hostnameParts)); $i++) {
$commonNamePart = count($commonNameParts) > ($i + 1) ? $commonNameParts[count($commonNameParts) - $i - 1] : null;
$hostnamePart = count($hostnameParts) > ($i + 1) ? $hostnameParts[count($hostnameParts) - $i - 1] : null;
if (! (
$commonNamePart === '*'
||
($commonNamePart === null && $hostnamePart === 'www' && !in_array("*", $commonNameParts))
||
($commonNamePart === $hostnamePart)
)
) {
continue 2;
}
}
var_dump($certificate);
}
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 5.5.0 - 5.5.38 , 5.6.0 - 5.6.40 , 7.0.0 - 7.0.33 , 7.1.0 - 7.1.33 , 7.2.0 - 7.2.33 , 7.3.0 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.4 , 8.3.6 object(stdClass)#3 (1) {
["commonName"]=>
string(13) "*.koekjes.men"
}
Output for 8.3.5 Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
object(stdClass)#3 (1) {
["commonName"]=>
string(13) "*.koekjes.men"
}
preferences:dark mode live preview
213.22 ms | 402 KiB | 330 Q