Archívum - 2015
július 3
Htacces url rewrite
Sziasztok!
Azt szeretném kérdezni, hogy azt hogy lehet megoldani, hogy ha van egy weboldal amit htaccess url rewrite-al át írok pl. localhost/?valami=sdf -> localhost/sdf/-re, akkor azt, hogy csinálhatom meg hogy a végén a / jel mindig oda kerüljön. Tehát ha valaki azt írja, hogy localhost/sdf, akkor átírodjon localhost/sdf/ -re. Persze ennek dinamikusan kell működni-e, tehát nem csak akkor ha "sdf" van ott hanem akkor is ha mondjuk "valamiasd" van ott.
■ Azt szeretném kérdezni, hogy azt hogy lehet megoldani, hogy ha van egy weboldal amit htaccess url rewrite-al át írok pl. localhost/?valami=sdf -> localhost/sdf/-re, akkor azt, hogy csinálhatom meg hogy a végén a / jel mindig oda kerüljön. Tehát ha valaki azt írja, hogy localhost/sdf, akkor átírodjon localhost/sdf/ -re. Persze ennek dinamikusan kell működni-e, tehát nem csak akkor ha "sdf" van ott hanem akkor is ha mondjuk "valamiasd" van ott.
június 26
.htaccess RewriteRule
Sziasztok!
Azt szeretném elérni, hogy az oldal elérhető legyen kiterjesztés nélkül, illetve html kiterjesztés esetén irányítsa át a kiterjesztés nélküli oldalra.
Következő kóddal próbálkoztam:
Ez működik is addig, míg nincs ugyanolyan nevű mappa és php fájl, ugyanabban a könyvtárban.
Ha ugyanaz a php-nak és a mappának a neve, 404-es hibaüzenet jön elő, ha nem adom meg az url-ben a .php kiterjesztést.
Mit javítsak a kódon?
Köszönöm előre is a segítséget!
■ Azt szeretném elérni, hogy az oldal elérhető legyen kiterjesztés nélkül, illetve html kiterjesztés esetén irányítsa át a kiterjesztés nélküli oldalra.
Következő kóddal próbálkoztam:
RewriteEngine On
RedirectMatch 301 (.*)\.html$ http://honlap.hu$1
RedirectMatch 301 (.*)\.htm$ http://honlap.hu$1
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]
RedirectMatch 301 (.*)\.html$ http://honlap.hu$1
RedirectMatch 301 (.*)\.htm$ http://honlap.hu$1
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]
Ez működik is addig, míg nincs ugyanolyan nevű mappa és php fájl, ugyanabban a könyvtárban.
Ha ugyanaz a php-nak és a mappának a neve, 404-es hibaüzenet jön elő, ha nem adom meg az url-ben a .php kiterjesztést.
Mit javítsak a kódon?
Köszönöm előre is a segítséget!
június 25
Paypal - Status lekérdezés (ExpressCheckout)
Sziasztok!
Néztem, hogy 1-2 alkalommal volt már téma a paypal fizetés de nem kaptam választ a kérdésemre.
Egy összetettebb oldalra szeretnék paypal fizetést.
Nem simán egy gombos fizetés lenne, hanem Reference Transactions típusú.
Ugyanezt az OTP-nél már megcsináltuk, és elvileg félig meddig működik a paypal-nál is amit az SDK alapján csináltunk.
A folyamat ahol elakadtunk úgy néz ki (SDK példa):
1. SetExpressCheckout - itt beállítjuk a fizetés paramétereit és az egyebeket
2. a kapott URL-re eljut az ügyfél, ahol belép és elfogadja a fizetés és a szeződést
3. az ügyfél visszajut az oldalunkra
4. GetTransactionDetails - itt lekérdezzük az ügyfél adatait
5. DoExpressCheckoutPayment - itt ezzel jóváhagyjuk a fizetést mi is.
4.b. Ha cancelt nyomott akkor egy másik cím hívódik meg, és a 4. és 5. pont nem fut le.
(tehát a fizetés attól is függ, hogy az ügyfél hova jutott)
Az alapvető probléma, hogy a példa szerint sikeres fizetés esetén a returnURL hívódik meg. Egyéb esetben meg a CancelURL.
Nálunk az a baj, hogy a weboldal és a fizetési rendszer nem egy helyen van. Így az ügyfelet nem tudjuk a fizetési rendszer egy oldalára küldeni, és egyéb okok miatt nem is lenne nálunk szerencsés ha egy böngészőtől függne lezárul -e a tranzakció.
Az OTP esetén úgy kellett csinálni, hogy beállítottuk a fizetést, az ügyfél eljutott az OTP felületére, ott fizetett és valahova visszatért. A háttérben pedig a fizetési rendszerünk folyamatosan elkezdte a tranzakció állapotát lekérdezgetni. Tehát láttuk ha még az ügyfélre várunk, vagy befejezte a fizetést (akár sikeresen akár nem).
Hasonlót kellene itt is megvalósítanunk.
Az 1-3 pont az tejesíti is a dolgot. Sőt a 4-5 pont is jó lenne (GetTransactionDetails-el lekérdezgetjük a tranzakciót, és ha rendben van, akkor DoExpressCheckoutPayment-el lezárjuk).
Sajnos a GetTransactionDetails csak akkor arról ad választ nekünk, hogy sikeres volt -e a vásárlás. Ez sajnos kevés, mert amennyiben az ügyfél pl.
Néztem, hogy 1-2 alkalommal volt már téma a paypal fizetés de nem kaptam választ a kérdésemre.
Egy összetettebb oldalra szeretnék paypal fizetést.
Nem simán egy gombos fizetés lenne, hanem Reference Transactions típusú.
Ugyanezt az OTP-nél már megcsináltuk, és elvileg félig meddig működik a paypal-nál is amit az SDK alapján csináltunk.
A folyamat ahol elakadtunk úgy néz ki (SDK példa):
1. SetExpressCheckout - itt beállítjuk a fizetés paramétereit és az egyebeket
2. a kapott URL-re eljut az ügyfél, ahol belép és elfogadja a fizetés és a szeződést
3. az ügyfél visszajut az oldalunkra
4. GetTransactionDetails - itt lekérdezzük az ügyfél adatait
5. DoExpressCheckoutPayment - itt ezzel jóváhagyjuk a fizetést mi is.
4.b. Ha cancelt nyomott akkor egy másik cím hívódik meg, és a 4. és 5. pont nem fut le.
(tehát a fizetés attól is függ, hogy az ügyfél hova jutott)
Az alapvető probléma, hogy a példa szerint sikeres fizetés esetén a returnURL hívódik meg. Egyéb esetben meg a CancelURL.
Nálunk az a baj, hogy a weboldal és a fizetési rendszer nem egy helyen van. Így az ügyfelet nem tudjuk a fizetési rendszer egy oldalára küldeni, és egyéb okok miatt nem is lenne nálunk szerencsés ha egy böngészőtől függne lezárul -e a tranzakció.
Az OTP esetén úgy kellett csinálni, hogy beállítottuk a fizetést, az ügyfél eljutott az OTP felületére, ott fizetett és valahova visszatért. A háttérben pedig a fizetési rendszerünk folyamatosan elkezdte a tranzakció állapotát lekérdezgetni. Tehát láttuk ha még az ügyfélre várunk, vagy befejezte a fizetést (akár sikeresen akár nem).
Hasonlót kellene itt is megvalósítanunk.
Az 1-3 pont az tejesíti is a dolgot. Sőt a 4-5 pont is jó lenne (GetTransactionDetails-el lekérdezgetjük a tranzakciót, és ha rendben van, akkor DoExpressCheckoutPayment-el lezárjuk).
Sajnos a GetTransactionDetails csak akkor arról ad választ nekünk, hogy sikeres volt -e a vásárlás. Ez sajnos kevés, mert amennyiben az ügyfél pl.
június 23
PHP párhuzamosítás
Sziasztok!
Csináltam egy webadmin felületet, aminek van egy PC menedzselés felülete is (PC ki-be kapcsolás újraindítás stb...).
Ennek betöltésekor megpingeli a PC-ket egy-egy bash script segítésgével.
A probléma itt jön, mert amikor nincs bekapcsolva egy-egy PC akkor sokat kell várnom míg a ping timeout létrejön.
Olyat lehet csinálni, hogy az admin felület bejön egyből és "modulonként" ahogy végzett az adott PC-k pingjeikkel utána megjelennek másodpercekkel később a többi.
Köszi előre is a segítségeteket!
■ Csináltam egy webadmin felületet, aminek van egy PC menedzselés felülete is (PC ki-be kapcsolás újraindítás stb...).
Ennek betöltésekor megpingeli a PC-ket egy-egy bash script segítésgével.
A probléma itt jön, mert amikor nincs bekapcsolva egy-egy PC akkor sokat kell várnom míg a ping timeout létrejön.
Olyat lehet csinálni, hogy az admin felület bejön egyből és "modulonként" ahogy végzett az adott PC-k pingjeikkel utána megjelennek másodpercekkel később a többi.
Köszi előre is a segítségeteket!
június 22
Symfony2 - ACL kiegészítés
Sziasztok!
Olyan problémába futottam, bele amire nem találok megoldást. Symfony2 ACL listát szeretném kiegészíteni új ACE objektumokkal, viszont mikor az AclProvider -től lekérem a listát, akkor nincs benne az insertObjectAce metódus, amivel hozzá tudnék adni új bejegyzést.
Ha törlöm és újból létrehozom a domain objektumhoz a listát, akkor elérhető.
Van valami megoldás arra, hogy ne kelljen törölni, hanem simán hozzá tudjak adni?
Jelenleg így néz ki:
■ Olyan problémába futottam, bele amire nem találok megoldást. Symfony2 ACL listát szeretném kiegészíteni új ACE objektumokkal, viszont mikor az AclProvider -től lekérem a listát, akkor nincs benne az insertObjectAce metódus, amivel hozzá tudnék adni új bejegyzést.
Ha törlöm és újból létrehozom a domain objektumhoz a listát, akkor elérhető.
Van valami megoldás arra, hogy ne kelljen törölni, hanem simán hozzá tudjak adni?
Jelenleg így néz ki:
$aclProvider = $this->getAclProvider();
$objectIdentity = ObjectIdentity::fromDomainObject($domainObject);
$acl = $aclProvider->findAcl($objectIdentity);
$objectAces = $acl->getObjectAces();
// Itt még nem érhető el az insertObjectAce metódus az $acl -ből
$aclProvider->deleteAcl($objectIdentity);
$acl = $aclProvider->createAcl($objectIdentity);
// Itt viszont már elérhető az insertObjectAce metódus
// Visszatöltjük az eredeti acl -t
foreach($objectAces as $objectAce)
{
/* @var $objectAce \Symfony\Component\Security\Acl\Domain\Entry */
$mask = $objectAce->getMask();
$securityIdentity = $objectAce->getSecurityIdentity();
$acl->insertObjectAce($securityIdentity, $mask);
}
// További ObjectAce hozzáadása
június 19
The Web is getting its bytecode: WebAssembly
A Google, a Microsoft, a Mozilla részvételével és az Apple közvetett támogatásával hordozható assembly készülhet a böngészőkhöz
■ CSV első karaktere
Sziasztok,
PHP-vel letöltök egy utf8-as csv fájlt, és amikor fel akartam dolgozni, nem sikerült... belekerül folyamatosan az első karakternek egy speciális karakter (egy pici pötty).
Hogyan tudom megoldani, hogy ha a csv file nem " (aposztróffal) kezdődik akkor addig törölje a karaktereket. és " (aposztróffal) kezdődjön.
Pont a fejlécet érinti az első sort így azt eredményezi, hogy a tömb értéke:
["Azonosító"] --> értéke
Ezt pedig nem tudom elérni valamiért így próbálom:
print $ertek['"Azonosító"']; // De nem értelmezi....
a többi érték már jó nem aposztrófos....
így néz ki:
Array
(
["Cikkszám"] => 4897033645539
[Termék Név] => Astrum USB 2.0 Hub 4 kimenettel fehér színben UH-U204R WH
[Státusz] => 1
[Nettó Ár] => 1102.362205
[Bruttó Ár] => 1400
)
kérlek segítsetek, hogy elérjem az azonasító értéket is :-)
Köszi!!
■ PHP-vel letöltök egy utf8-as csv fájlt, és amikor fel akartam dolgozni, nem sikerült... belekerül folyamatosan az első karakternek egy speciális karakter (egy pici pötty).
Hogyan tudom megoldani, hogy ha a csv file nem " (aposztróffal) kezdődik akkor addig törölje a karaktereket. és " (aposztróffal) kezdődjön.
Pont a fejlécet érinti az első sort így azt eredményezi, hogy a tömb értéke:
["Azonosító"] --> értéke
Ezt pedig nem tudom elérni valamiért így próbálom:
print $ertek['"Azonosító"']; // De nem értelmezi....
a többi érték már jó nem aposztrófos....
így néz ki:
Array
(
["Cikkszám"] => 4897033645539
[Termék Név] => Astrum USB 2.0 Hub 4 kimenettel fehér színben UH-U204R WH
[Státusz] => 1
[Nettó Ár] => 1102.362205
[Bruttó Ár] => 1400
)
kérlek segítsetek, hogy elérjem az azonasító értéket is :-)
Köszi!!
június 16
ping - mi értelme lehet?
Történés röviden: egy hazai fix ip-ről (nslookup szerint business ügyfél) négy-öt napon át folyamatosan pingelték (*) a routeremet, ami egyébként nem válaszol a pingre.
* = pontosabban icmp type 8 csomagok jöttek kb. olyan sűrűn, ahogy a ping-től szoktam látni. Nagyjából száz-százhúsz packet egyforma sorszámmal (logban SEQ=) majd néhány perc szünet és újabb sorszámmal folytatódott.
Van valakinek ötlete, hogy ennek mi célja/értelme lehetett? (Akár jó-, akár rosszhiszemű felhasználás érdekel)
Feltételezem, csak valami beragadt az illetőnél (amint megkaptam a pingelt IP címet, azonnal indultak a pingek, mintha az IP korábbi tulajdonosát pingelte volna a forrás), viszont az sem lehetetlen, hogy valaki "rosszalkodott", ugyanis az IP címe a wikipédián úgy szerepel, mint ahonnan valaki rombolta a wiki tartalmait (indokolatlan törölgetések).
Hatása annyi volt, hogy elméletileg, ha pár percig nincs forgalom a wan interface-en, a router bontja a kapcsolatot, így meg napokig aktív maradt.
■ * = pontosabban icmp type 8 csomagok jöttek kb. olyan sűrűn, ahogy a ping-től szoktam látni. Nagyjából száz-százhúsz packet egyforma sorszámmal (logban SEQ=) majd néhány perc szünet és újabb sorszámmal folytatódott.
Van valakinek ötlete, hogy ennek mi célja/értelme lehetett? (Akár jó-, akár rosszhiszemű felhasználás érdekel)
Feltételezem, csak valami beragadt az illetőnél (amint megkaptam a pingelt IP címet, azonnal indultak a pingek, mintha az IP korábbi tulajdonosát pingelte volna a forrás), viszont az sem lehetetlen, hogy valaki "rosszalkodott", ugyanis az IP címe a wikipédián úgy szerepel, mint ahonnan valaki rombolta a wiki tartalmait (indokolatlan törölgetések).
Hatása annyi volt, hogy elméletileg, ha pár percig nincs forgalom a wan interface-en, a router bontja a kapcsolatot, így meg napokig aktív maradt.
június 15
Inside NGINX: How We Designed for Performance & Scale
Hogyan működik az Nginx webszerver és hogyan képes párhuzamosan több ezer kérést kiszolgálni
■