Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Unikátní parametr – jak ho plugin generuje?

cargopro
verified
rating uzivatele
9. 3. 2018 20:44:11
newsletter plugin (MailPoet) umožňuje odběrateli spravovat své údaje na volitelné stránce kde je shortcode . Tato stránka je volána z linku v těle emailu a ten je ve tvaru:
http://www.domena.cz/ manage_subscribers/?mailpoet_router&endpoint=subscription&action=manage&data=eyJ0b2tlbiI6IjQ0ZWRhMSIsImVtYWlsIjoiZm9yZW1hQGVtYWlsLmN6In0
kde parametr eyJ0b2tlbiI6IjQ0ZWRhMSIsImVtYWlsIjoiZm9yZW1hQGVtYWlsLmN6In0 je jedinečný identifikátor pro danou email adresu. Otázka tedy zní: lze funkci, která generuje tento identifikátor pro jednotlivou email adresu "subscribera" nějak externě vygenerovat? Jakou funkci v nitru pluginu hledat?
9. 3. 2018 20:44:11
https://webtrh.cz/diskuse/unikatni-parametr-jak-ho-plugin-generuje/#reply1334207
Martin
verified
rating uzivatele
(62 hodnocení)
9. 3. 2018 21:21:13
Není to v souboru models/user.php funkce
?
9. 3. 2018 21:21:13
https://webtrh.cz/diskuse/unikatni-parametr-jak-ho-plugin-generuje/#reply1334206
cargopro
verified
rating uzivatele
10. 3. 2018 09:18:38
Napsal Martin Kejzlar;1449442
Není to v souboru models/user.php funkce
?
to bude ono, takže Keyuser bude stejný, i když se mění v čase parametr time() ?
10. 3. 2018 09:18:38
https://webtrh.cz/diskuse/unikatni-parametr-jak-ho-plugin-generuje/#reply1334205
Martin
verified
rating uzivatele
(62 hodnocení)
10. 3. 2018 11:09:21
Napsal cargopro;1449482
to bude ono, takže Keyuser bude stejný, i když se mění v čase parametr time() ?
Nebude. Jsem to nestudoval, ale pravděpodobně se to vygeneruje při registraci usera a pak se to uloží do databáze a bere se to z db. Pokud to chceš generovat nějak externě, tak to takhle nepůjde. Záleží, co přesně potřebuješ. Externí přístup by se musel řešit jinak.
10. 3. 2018 11:09:21
https://webtrh.cz/diskuse/unikatni-parametr-jak-ho-plugin-generuje/#reply1334204
cargopro
verified
rating uzivatele
10. 3. 2018 13:27:06
Napsal Martin Kejzlar;1449505
Nebude. Jsem to nestudoval, ale pravděpodobně se to vygeneruje při registraci usera a pak se to uloží do databáze a bere se to z db. Pokud to chceš generovat nějak externě, tak to takhle nepůjde. Záleží, co přesně potřebuješ. Externí přístup by se musel řešit jinak.
db Poetu jsem projel celou, nikde jsem tam takové dlouhé řetězce nenalezl, ale vlatně jsem ještě nezkoušel jestli ta funkce vůbec generuje tento konkrétní.
Jinak cílem je vlastně to, abych tímto odkazem "zlinkoval" záznam o zákazníkovi v z jiného pluginu s Poet pluginem, tedy abych obešel použití API Poetu, když můžu využít tu jeho hotovou funkcionalitu
přesněji je to takto:
v extérním odkazu je jiná hodnota
?mailpoet_router&endpoint=track&action=click&data=WyI1IiwiNDRlZGExIiwiOTkiLCJiZThhZTk0NTYxY2EiLGZhbHNlXQ
než v navráceném (po ověření)
?mailpoet_router&endpoint=subscription&action=manage&data=eyJ0b2tlbiI6IjQ0ZWRhMSIsImVtYWlsIjoiZm9yZW1hQGVtYWlsLmN6In0
přičemž parametr data nikde v db nefiguruje
10. 3. 2018 13:27:06
https://webtrh.cz/diskuse/unikatni-parametr-jak-ho-plugin-generuje/#reply1334203
Martin
verified
rating uzivatele
(62 hodnocení)
10. 3. 2018 20:46:28
Napsal cargopro;1449527
db Poetu jsem projel celou, nikde jsem tam takové dlouhé řetězce nenalezl, ale vlatně jsem ještě nezkoušel jestli ta funkce vůbec generuje tento konkrétní.
Jinak cílem je vlastně to, abych tímto odkazem "zlinkoval" záznam o zákazníkovi v z jiného pluginu s Poet pluginem, tedy abych obešel použití API Poetu, když můžu využít tu jeho hotovou funkcionalitu
přesněji je to takto:
v extérním odkazu je jiná hodnota
?mailpoet_router&endpoint=track&action=click&data=WyI1IiwiNDRlZGExIiwiOTkiLCJiZThhZTk0NTYxY2EiLGZhbHNlXQ
než v navráceném (po ověření)
?mailpoet_router&endpoint=subscription&action=manage&data=eyJ0b2tlbiI6IjQ0ZWRhMSIsImVtYWlsIjoiZm9yZW1hQGVtYWlsLmN6In0
přičemž parametr data nikde v db nefiguruje
Výsledek tý funkce generateKeyuser() by měl být uložený v tabulce user, sloupec keyuser. To jak to řeší ty externí odkazy by bylo na bližší zkoumání.
10. 3. 2018 20:46:28
https://webtrh.cz/diskuse/unikatni-parametr-jak-ho-plugin-generuje/#reply1334202
cargopro
verified
rating uzivatele
10. 3. 2018 21:04:27
MK: já mám asi novější verzi, neboť nemám models/user.php ale models/subsriber a tam jsem našel tyto 2 funkce, které by mohly být zodpovědné za ověřování "subscribers" :
------------------------------------------------------------
static function generateToken($email = null) {
if($email !== null) {
$auth_key = '';
if(defined('AUTH_KEY')) {
$auth_key = AUTH_KEY;
}
return substr(md5($auth_key . $email), 0, self::SUBSCRIBER_TOKEN_LENGTH);
}
return false;
}
static function verifyToken($email, $token) {
return call_user_func(
'hash_equals',
self::generateToken($email),
substr($token, 0, self::SUBSCRIBER_TOKEN_LENGTH)
);
}
---------------------------------------------------------------
nicméně někde v db je asi uložen AUTH_KEY
aha ... AUTH_KEY se definuje v wp-config.php
10. 3. 2018 21:04:27
https://webtrh.cz/diskuse/unikatni-parametr-jak-ho-plugin-generuje/#reply1334201
Pro odpověď se přihlašte.
Přihlásit