Session, FancyUpload, generateVerificationKey
- JakubJarabica
- Gold Partner | 184
Zdravim, snazim sa implementovat tento uploader: http://digitarald.de/…/photoqueue/ a narazil som na
problem:
Poziadavok, ktory posle kombinacia Mootools + Flash ma nasledovne hlavicky:
<?php array(4) {
0 ⇒ string(30) „ISO-8859–2,utf-8;q=0.7,*;q=0.7“
1 ⇒ string(12) „gzip,deflate“
2 ⇒ string(32) „sk,cs;q=0.8,en-us;q=0.5,en;q=0.3“
3 ⇒ string(93) „Mozilla/5.0 (Windows; U; Windows NT 6.0; sk; rv:1.9.2)
Gecko/20100115 Firefox/3.6 FirePHP/0.4“
} ?>
.. a poziadavok, ktory sa posle normalne:
<?php array(4) {
0 ⇒ NULL
1 ⇒ NULL
2 ⇒ NULL
3 ⇒ string(15) „Shockwave Flash“
} ?>
Problem mi to robi v metode generateVerificationKey() v session, ktora prave s tymito datami pracuje. V handleri, ktory obsluhuje tento skript potrebujem pristupovat do session a za sucasneho stavu sa mi miesto pristupu k aktualnej session vytvori vzdy nova. Je nejake rozumne riesenie ako tento problem poriesit? Hocijake aj dost „dirty“ riesenie?
P.S.: Ospravedlnujem sa za diakritiku, no mam naponahlo, nestiham na oslavu na ktorej sa aj tak nezabavim :(
- pekelnik
- Člen | 462
search first! klicova slova pro vyhledavani: upload flash nette framework :)
prvni vysledek: https://forum.nette.org/…ni-uzivatele
Problem:
Z flashe se proste k prohlizecove session nedostanes (resp. dostanes, ale rozbijes tim session v prohlizeci), protoze je to jiny klient a nema cookies z prohlizece. Kontrola user-agenta je az druhorady problem.
Reseni:
Jako nejschudnejsi se jevi reseni autentizace flashoveho pozadavku pomoci nejakych (jednorazovych) ticketu.
- JakubJarabica
- Gold Partner | 184
S tým predaním session ID by to aj šlo, v princípe ten generátor volá skript, ktorý je nastavený ako action formuláru. Skúsil som action zmeniť na script.php?foo=bar a $_GET pekne vypíše aj pri AJAXovom aj pri priamom volaní. Otázka však je, ako prenesiem tú session ID do toho PHP skriptu. Nastavím nejaké PHPSESSID cez GET na hodnotu, ktorú získam cez session_id? V tomto potrebujem trošku poviesť za ručičku :-[
- Honza Kuchař
- Člen | 1662
SESSID předat můžeš, ale musí vypnout ten validační klíč co je v Nette. Jinak ti to tu session zdruší.
P.S.: Doporučuji upravit již fungující MultipleFileUploader (i když není implementován nejlépe), který běží pod Uploadify.
- JakubJarabica
- Gold Partner | 184
Vďaka tomu linku, čo som dostal v tomto vlákne som validačný kľúč vypol – no stále mi to nejako nefungovalo(zrejme use_only_cookies a podobné nastavenia tomu bránili – nakoniec mi nejako nešlo predávať to ID do session od Nette).
Vyriešil som to(vzhľadom na podmienky – dnes by to malo byť hotové) celkom elegantne, PHP skriptu, ktorý spracováva upload súborov cez GET predávam hash, na základe ktorého vyťahujem veci z DB(ktoré som pôvodne potreboval ťahať zo session).
MultipleFileUploader som už pozeral, ale na takú implementáciu sa zatiaľ necítim – je tam dosť práce s tokenmi a zatiaľ to viem len používať, nie až tak úplne tomu chápem. V budúcnosti to však plánujem integrovať na podobnej báze – som fanúšik Mootools, trieda je krásne napísaná, použiteľná a plne prispôsobiteľná. Nateraz mi však stačí, že to funguje a nemusím nič krkolomne ohýbať :)