Розшифровка JWT HS256 та звіряння сигнатури sha256
Розбір JWT HS256 шифрування, розшифровка JWT HS256, порівняння сигнатур sha256 на цілісність інформації.
Достукатись простим способом до тегу <p:id> у xml не вийде. Слід проаналізувати xml на опис простору xmlns:g="http://base.google.com/ns/1.0". Якщо такий рядок присутній, то можна скористатися xpath, а якщо ні, то є спосіб прочитати такий тег простіше.
Приклад xml:
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>Приклад магазину</title>
<link>https://example.com</link>
<description>Товарний фід</description>
<item>
<g:id>12345</g:id>
<g:title>Товар 1</g:title>
<g:price>199.00 UAH</g:price>
</item>
<item>
<g:id>12346</g:id>
<g:title>Товар 2>/g:title>
<g:price>299.00 UAH</g:price>
</item>
</channel>
</rss>
<?php
$xml = simplexml_load_string($xmlString);
// Реєструємо простір імен для роботи через xpath
$xml->registerXPathNamespace('g', 'http://base.google.com/ns/1.0');
// Виносимо item у змінну
$items = $xml->xpath('//item');
$result = [];
foreach ($items as $item) {
$id = (string) $item->xpath('g:id')[0];
$title = (string) $item->xpath('g:title')[0];
$price = (string) $item->xpath('g:price')[0];
$result[] = [
'id' => $id,
'title' => $title,
'price' => $price,
];
}
var_dump($result);
Конструкція для звернення до потрібного тегу визначається так "$item->xpath('g:id')[0]".
<?php
$xml = simplexml_load_string($xmlString);
$result = [];
foreach ($xml->channel->item as $item) {
$result[] = [
'id' = (string) $item->{'g:id'};
'title' = (string) $item->{'g:title'};
'price' = (string) $item->{'g:price'};
];
// АБО
// $result['id'] = (string)$item->children('g', true)->id;
}
var_dump($result);
Можна використовувати конструкцію $item->children('g', true)->id, а можна зробити запис ще коротшим і більш зрозумiлим, наприклад звернення через властивість до класу $tem->{'g:id'}. Це те саме, що й звернення до звичайного класу.
<?php
$obj = new stdClass();
$obj->{'g:field'} = 'значення';
var_dump($obj->{'g:field'});
Розбір JWT HS256 шифрування, розшифровка JWT HS256, порівняння сигнатур sha256 на цілісність інформації.
Розглянемо виправлення зникнення пробiлiв перед змінними у старій версії Twig на php 7.4 не оновлюючи версію.
Розглянемо можливість швидкого створення CSV файлу з автоматичним скачуванням файлу. Розглянемо формування, роздільники та header для можливості завантажити файл.
Останні шаблони від ImageCMS 4.12, для завантаження потрібна авторизація.
Розглянемо варіанти популярних варіантів зберігання товарів у кошику в інтернет-магазині. Позначимо плюси та мінуси таких зберігання. Розглянемо варіанти довгострокового зберігання корзини.