PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1 2 
Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: aksel 2012-10-03 11:09:48
Eepohs tegi tasuta kättesaadavaks EstPay maksemooduli Magentole.

EstPay võimaldab Magento e-poel maksed vastu võtta järgnevatelt pankadelt/maksete vahendajatelt:
Swedbank
SEB
SampoPank
Krediidipank
LHV
Nordea
NETS (EstCard krediitkaardimaksed)

Lühidalt - kõik peamised Eestis kasutusel olevad makseviisid ühes moodulis ja täiesti tasuta.

EstPay saab paigaldada otse Magento Connectist: http://www.magentocommerce.com/magento-connect/catalog/produ

Küsimuste korral palun pöörduda info [at] eepohs.com

Head kasutamist!
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: asdm 2012-10-03 12:40:48
Väga super!!! Kurvastama peavad teised moodulite programistid :P
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: beetatest 2012-10-03 14:45:50
mõnus komplekt jah..

Esimese asjana jäi silma, et versiooni number on ilmselt unustatud koodis muutmata ja on jäänud $version$ sama ka muutuja $year$

Jätkan edasi uurimist
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: aksel 2012-10-03 15:29:55
TSITEERITUD:
mõnus komplekt jah..

Esimese asjana jäi silma, et versiooni number on ilmselt unustatud koodis muutmata ja on jäänud $version$ sama ka muutuja $year$

Jätkan edasi uurimist


Tänud selle vihje eest - fixime ära a.s.a.p:)

RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: asd 2012-10-03 17:24:36
kas tõesti :) otse get massiivist parameetrite pime lugemine ilma valideerimata ?

if ( !$orderId ) {
$orderId = $this->getRequest()->getParam('VK_STAMP');
}

mingit erilist vaeva küll ei nähta tõestamaks, et päringule vastaja ikka on pank , avaliku võtme kontroll , kas panga ip jne jne ennem nende väärtuste kasutamist tuleks ikkagi allkiri kontrollida ja päringu autentsuses veenduda.

Reaalsuses muidugi ükski kaupmees ilma pangaväljavõtet kontrollimata kaupa välja ei saada (kui just downloadable producteid ei müüda ja kohe alla laadima ei hakata) ja jõuab reaalset makse laekumist kontrollida


kingitud hobuse suhu ei vaadata :D ja oma lihtsuses ilmselt ajab paljudele asja ära.
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: asd 2012-10-03 17:47:57
muidu ju tore extension issenesest aint, et väärtuste kontrollimistega eriti vaeva ei nähta ja mingeid asjalikke veateateid ilmselt kasutajale ei visata logitakse vaikimisi, kui logimine lubatud.

Signeerimine võiks olla ka modelites ja mitte blockides sisuliselt saab payment objekti quotest kätte ja selle küljest signeerimist küsida ja blocki kasutada ainult vormi template või muu frontendi puudutava konteksti settimiseks

turvalisus peaks natuke rohkem tähtsustatud olema ka tasuta asjade puhul:

* vastuste kontrollimine on hetkel avatud "man in the middle" atackidele ja sisuliselt saab sama väärtusega tellimustele vastuseid maha mängida jne sellsuhtes on pangalinkide dockides väga detailselt kirjas andmetüübid, vastuste võimalikud pikkused, encodingud mida reaalselt tuleks ikkagi kasutada , et vastust valideerida . Kindlasti tuleks veenduda kas päring on ikka pangast saadetud. Võibolla saab teostada ka muid ründevektoreid mis sisendi valideerimata jätmisest tulenevalt peaks võimalikud olema, testima ei hakanud

* kui hoiate võtmeid config tabelis (mida kõik extensionid saavad lugeda), siis peaks selle ikkagi krüptima ja natuke ka saltima, et ainult konkreetne extension oskaks seda lugeda , võtmete varastamine välistada või võimalikult raskeks teha. võimalusel üldse confist välja tõsta failidesse ja failid vastavalt turvata.
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: pronto 2012-10-03 17:52:06
IPizza modelis toimub muude asjade hulgas võtit kontrollides ka VK_STAMP-i kontoll (sind huvitav rida koos verifyga on paar rida allpool). Seega milles on probleem?
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: asd 2012-10-03 17:52:46
turvalisusest veel: et üldse mingit rünnet tõestada tuleks tegelt ikkagi kõik tehtavad päringud panka (kõik signeeritud paketid) ja kõik pangast saadud paketid (kõik valideeritavad paketid) logida , et oleks võimalik tuvastada võimalikke ründeid või probleeme koostatavates/saadavates päringutes.
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: aksel 2012-10-03 23:11:01
Suur tänu, asd, et mõtlesid kaasa ja juhtisid tähelepanu olulistele teemadele nagu turvalisus. Eepohsi jaoks on e-kaubanduse turvalisus väga tähtsal kohal ja võtame Su asjalikud ettepanekud arvesse.

Magento EstPay moodulist lasime välja uue versiooni 1.3.1, kus on $version$ placeholder asendatud korraliku versiooninumbriga ja lisatud on rohkem päringute logimist.

Sisukat kaasamõtlemist kohtab php.ee-s kahetsusväärselt harva, nii et aitäh!

Niisama krüptosõpradele ja võtmepaari kasutamise või väärkasutamise huvilistele aga lugemiseks natuke materjali:
http://en.wikipedia.org/wiki/Cryptographic_hash_function
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: rtfm 2012-10-03 23:11:05
TSITEERITUD:
IPizza modelis toimub muude asjade hulgas võtit kontrollides ka VK_STAMP-i kontoll (sind huvitav rida koos verifyga on paar rida allpool). Seega milles on probleem?


ja mis on VK_STAMP :) sinu enda välja mõeldud võti hetkel tellimuse number jne jne . Siin on kerge loogikaviga ka , et mida ja millises järjekorras kontrollida:

1. esmalt kontrolli kas päring tuli panga ip -lt (jah küsi pangalt mis iplt nad vastuste päringuid teevad või millisest võrgusegmendist) muud päringud saad eos kukele saata (vähemalt automaatsete päringute puhul juhul, kui on klient live sessiooniga saad valideerida teisiti). Kontrollida saab ka seda kas päringu vahel on reaalne ajavahe (ala sessiooni pikkus on ületatud, päring tuleb kahe päeva pärast jne) . Ip väljad saab muideks ka konfi panna, optionaliks teha.

2. eeldame , et päringus olevad andmed on õiges formaadis (ok võibolla selles koodis ei lähe XSS läbi, sest sa ei logi neid andmeid hetkel kuskile kus neid võibolla näidatakas mingis kontekstis (html, css , js, url jne) , aga sa ju tead, et sa saadad int ja eeldad ka vastuse int väärtust ja sa tead ka selle pikkust ja ilmselt ka encodingut tead samuti (kui int ei oleks). php ei ole vaikimis turvaline ja rünne ei pea toimuma maci valideerimise vastu vaid näiteks läbi ebaõnnestunud päringute logide jne ja nende kuvamiskeskkondade vastu. Samuti tuleks valideerida kohe get massivi objektid sest sa tead mis väljad üldse vastuses võivad eksisteerida

3. hetkel tundub, et loogika on selline, et võtate mingi väärtuse VK_STAMP ja eeldate , et see on reaalne tellimuse number ja saate teada controllerilt , et tegu on mingi kindla panga objektiga ($this->_model ilmselt ka selle pärast nii palju controllereid genetud mis lihtsalt ütlevad mis modeliga tegu) ja usaldame seda (st eeldusel et päring tuleb mingile kindlale controllerile) ja laseme läbi kõhu, ok kui ei valideeru , siis ei valideeru ja tala saame ka hetkel, kui tellimust ei eksisteeri (kui proovime arvet genereerida) . Abstract on ikka ühine ja valideerida üritate samadel alustel.

Võiks valideerimisel aluseks võtta selle, et:
* saan päringu (ühele controllerile), kontrollin kas vastab etteantud patrameetritele ( on int , õige pikkusega, reaalses tellimuste numbrite vahemikus jne)
* üritan kohe laaadida sellega seotud objekti (antud juhul tellimust) valideeritud/escapetud parameetriga (sellel hetkel ei pea teadma mis pangast täpselt jne ja antud juhul on lihtne ka kuna vastused enamvähem sarnased),
* kui objekt eksisteerib (st oli reaalne tellimuse number), küsin objekti küljest payment objekti , saan objekti mis vastutas päringu tegemise/koostamise/signeerimise eest ja peab vastutama ka vastuse valideerimise eest
* ja proovin selle kaudu valideerida vastust, kui ei valideeru on jama , kui valideerub siis olen kontrollinud seda läbi ühe objekti konteksti/elutsükli ja saan päringut ka rohkem usaldada.

See kas edasi ka maksekinnituses olevaid väärtuseid eraldi valideeritakse on muidugi võimaluste küsimus, sest MAgento võimaldab ühe tellimuse kohta mitu arvet jne.
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: aksel 2012-10-03 23:23:40
TSITEERITUD:


ja mis on VK_STAMP :) sinu enda välja mõeldud võti hetkel tellimuse number jne jne . Siin on kerge loogikaviga ka , et mida ja millises järjekorras kontrollida:

1. esmalt kontrolli kas päring tuli panga ip -lt (jah küsi pangalt mis iplt nad vastuste päringuid teevad või millisest võrgusegmendist) muud päringud saad eos kukele saata (vähemalt automaatsete päringute puhul juhul, kui on klient live sessiooniga saad valideerida teisiti). Kontrollida saab ka seda kas päringu vahel on reaalne ajavahe (ala sessiooni pikkus on ületatud, päring tuleb kahe päeva pärast jne) . Ip väljad saab muideks ka konfi panna, optionaliks teha.


Mida annab mulle see kontroll? Vastan - mitte midagi. Ainus, mis antud kontekstis oluline on, on panga allkiri. Minu pärast saatku see vastus mulle kasvõi tuvipostiga. Kui panga allkiri on õige (mida ma kontrollin nende avaliku võtmega), siis muu ei oma tähtsust. Nii palju ma panka ikka usaldan.

Kui keegi on panga private key kätte saanud, on minu probleem tühine nende probleemi kõrval.



TSITEERITUD:

Võiks valideerimisel aluseks võtta selle, et:
* saan päringu (ühele controllerile), kontrollin kas vastab etteantud patrameetritele ( on int , õige pikkusega, reaalses tellimuste numbrite vahemikus jne)


Mis see annab? Kui ma ei leia tellimust tema ID järgi, siis ei leia ja kõik. Vaata natuke Magento kõhtu ja Zendi kõhtu ja sa näed, et vastav id castitakse igal juhul int-iks. Lihtsalt seda ei pea tegema kõige ülemises kihis seda tegema, sest ma tunnen frameworki ja tean, et ta teeb seda ise seal, kus reaalselt vaja.

HTTP-s ei ole tüüpe nagunii, KÕIK on string. Võta või jäta või nuta. See, kas ja kuidas sa midagi seal castid, ei oma tähtsust antud kontekstis. Seda teeb framework minu eest:)

TSITEERITUD:

* üritan kohe laaadida sellega seotud objekti (antud juhul tellimust) valideeritud/escapetud parameetriga (sellel hetkel ei pea teadma mis pangast täpselt jne ja antud juhul on lihtne ka kuna vastused enamvähem sarnased),


Nii ongi. Vaata resource mudeli laadimist.

TSITEERITUD:

* kui objekt eksisteerib (st oli reaalne tellimuse number), küsin objekti küljest payment objekti , saan objekti mis vastutas päringu tegemise/koostamise/signeerimise eest ja peab vastutama ka vastuse valideerimise eest
* ja proovin selle kaudu valideerida vastust, kui ei valideeru on jama , kui valideerub siis olen kontrollinud seda läbi ühe objekti konteksti/elutsükli ja saan päringut ka rohkem usaldada.


See on vaid üks võimalikke implementatsioone ja mitte tingimata ainuõige.


TSITEERITUD:

See kas edasi ka maksekinnituses olevaid väärtuseid eraldi valideeritakse on muidugi võimaluste küsimus, sest MAgento võimaldab ühe tellimuse kohta mitu arvet jne.


Magento võimaldab tellimuse kohta mitut arvet küll, aga mitte meie tehtud pangalingi kontekstis. Frontendis sa lähed maksma ja maksad pangalingi kaudu alati täissumma. Teistmoodi makseviisi nimi on "Järelmaks" ja seda saab meie käest eraldi moodulina:)

Muidu aga aitäh kaasa mõtlemast. php.ee ei olegi veel välja surnud ega ehitajate poolt hõivatud.
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: no rtfm 2012-10-03 23:49:20
ootame vastust...
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: asd 2012-10-03 23:49:21
TSITEERITUD:


Mida annab mulle see kontroll? Vastan - mitte midagi. Ainus, mis antud kontekstis oluline on, on panga allkiri. Minu pärast saatku see vastus mulle kasvõi tuvipostiga. Kui panga allkiri on õige (mida ma kontrollin nende avaliku võtmega), siis muu ei oma tähtsust. Nii palju ma panka ikka usaldan.

Kui keegi on panga private key kätte saanud, on minu probleem tühine nende probleemi kõrval.


no ma ei tea :) arvestades viimaseid tuuli ssl sessioonide hijackimisest ja mahamängimisest võiks natuke selle peale mõleda rohkem, kui tuvipost ja ainus võimalus

TSITEERITUD:

Mis see annab? Kui ma ei leia tellimust tema ID järgi, siis ei leia ja kõik. Vaata natuke Magento kõhtu ja Zendi kõhtu ja sa näed, et vastav id castitakse igal juhul int-iks. Lihtsalt seda ei pea tegema kõige ülemises kihis seda tegema, sest ma tunnen frameworki ja tean, et ta teeb seda ise seal, kus reaalselt vaja.


hea seegi, antud juhul seda väärtust mujal ei kasutata, kui tellimuse tühistamisel

TSITEERITUD:

HTTP-s ei ole tüüpe nagunii, KÕIK on string. Võta või jäta või nuta. See, kas ja kuidas sa midagi seal castid, ei oma tähtsust antud kontekstis. Seda teeb framework minu eest:)


ka see on hea, et midagi automaatselt tehakse. võimalus lihtsalt säästa mõttetuid päringuid serverile (kui keegi peaks spämmida tahtma, näiteks konkurent localhostist)

TSITEERITUD:

Nii ongi. Vaata resource mudeli laadimist.


ei ole nii :) hetkel on nii, et valideerimise kontekst antakse manuaalselt ette (controller failis objekti muutujana) mitte ei küsita objektilt mis selle eest vastutab ja peale seda üritatakse laadida objekti mis justkui on eelnevalt valideeritud, kui ei valideeru , siis canceldame.

Lihtsustatult Controller_Abstract::returnAction(), mis mind ei huvita on "......"


PHP kood:
 
       
//kas on sessioonis ....
        
if ( !$orderId ) {
            
//ei ole võtame valideerimata väärtuse 
            
$orderId $this->getRequest()->getParam('VK_STAMP');
        }
        ......
        
//võtame suvalise konteksti , ma saan ise seda valida, kui localhostist päringuid teen
        
$model Mage::getModel($this->_model);
        
$model->setOrderId($orderId);
        
//valideerime midagi vastu midagi, meid tegelik tulemus ei huvita, meid huvitab false
        
$verify $model->verify($this->getRequest()->getParams());
        if ( 
$verify === true ) {
            .......
        } else {
            
//MEID HUVITAB SEE :) SEST KÕIK MIS EI VALIDEERU TÜHISTATAKSE SEST KONTEKSTI EI KONTROLLITA JA USALDATAKSE PÄRINGUT 
            
$order Mage::getModel('sales/order')->loadByIncrementId($orderId);
            ...............
        }


Hetkel on näiteks võimalik suvaliste get päringutega (ei pea olema pangast võib lasta javascriptiga localhostist) suvalisele controllerile mingit salvestatud päringut mis oleks sarnase kujuga ja sarnaste väärtustega, mac ei valideeru ja else : kõik order id-d mis pähe tulevad päringusse panna proovitakse laadida ja canceldada (proovime kasvõi 1- 1000000 läbi, laseme 10 threadi peale).


TSITEERITUD:

See on vaid üks võimalikke implementatsioone ja mitte tingimata ainuõige.


tõsi :) aga kindlasti parem, kui lasta kõik mittevalideeruvad päringud mingeid tellimusi tühistada. Sellepärast ongi oluline küsida konteksti objektilt mis mingi tellimuse elutsükli eest vastutab (Antud juhul payment objekt)
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: pronto 2012-10-03 23:50:44
Ma arvan ka, et diskussioon käib hetkel valedel alustel. Nimelt kes on Zendi ja Magentoga ka tuuma poole pealt rohkem kokku puutunud see teab, et kogu sisend valideeritakse nii ehk naa -- see on ju kogu raamistiku rebu, vabastada arendaja tüütutest kontrollidest ning automatiseerida/turvata nii palju kui võimalik. Topelvalideerimine oleks lihtsalt täiesti kõlblike ressurssi mittesihipärane kasutamine.

Mis puutub IP aadressitesse, siis mitte ükski dokumentatsioon ei soovita neid kasutada. Enamgi veel, need IP aadressid on muutunud ja muutuvad ka edaspidi, kusjuures ma ei hakka siinkohas rääkima IP spoofimisest, mis kogu selle asja mõttetuks muudab. IP aadressite kuhugile sisse kirjutamine (isegi kui need on backendist muudetavad) on lihtsalt endale hoolduse ja kliendisuhte seisukohalt augu kaevamine. Kui IP aadress järjekordselt muutub, siis ei mäleta keegi enam ammu mis kuhugile sisestati -- neid pangalinke tehes panime me aluseks selle, et ka vähemtehniline inimene suudab neid hallata ning ma ei usu, et ta suudab ise tuvastada esimese hooga maksete mittetoimise põhjuseks IP aadressi muutuse.
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: rtfm 2012-10-03 23:57:27
TSITEERITUD:
Ma arvan ka, et diskussioon käib hetkel valedel alustel. Nimelt kes on Zendi ja Magentoga ka tuuma poole pealt rohkem kokku puutunud see teab, et kogu sisend valideeritakse nii ehk naa -- see on ju kogu raamistiku rebu, vabastada arendaja tüütutest kontrollidest ning automatiseerida/turvata nii palju kui võimalik. Topelvalideerimine oleks lihtsalt täiesti kõlblike ressurssi mittesihipärane kasutamine.


eksid siinkohal, pdo valideerib ehk seda mis baasi läheb, aga ülejäänud pead kõik käsitsi ja vastavalt kontekstile (link, html, css, javascript jne) ise valideerima , magento frontendis kõik templated (vähemalt default ja base) escapevad väärtused mis võivad olla xss vektoritega täidetavad. Sama peab tegema ka magento arendaja, kui teil oleks nüd CC vorm inlines mis lihtsalt vahendaks väärtuseid vormiga payment gatewayle siis võiks läbi teie olla võimalik gatewayd xss vektoritega tulistada, sessioone häkkida jne.

TSITEERITUD:

Mis puutub IP aadressitesse, siis mitte ükski dokumentatsioon ei soovita neid kasutada. Enamgi veel, need IP aadressid on muutunud ja muutuvad ka edaspidi, kusjuures ma ei hakka siinkohas rääkima IP spoofimisest, mis kogu selle asja mõttetuks muudab. IP aadressite kuhugile sisse kirjutamine (isegi kui need on backendist muudetavad) on lihtsalt endale hoolduse ja kliendisuhte seisukohalt augu kaevamine. Kui IP aadress järjekordselt muutub, siis ei mäleta keegi enam ammu mis kuhugile sisestati -- neid pangalinke tehes panime me aluseks selle, et ka vähemtehniline inimene suudab neid hallata ning ma ei usu, et ta suudab ise tuvastada esimese hooga maksete mittetoimise põhjuseks IP aadressi muutuse.


well, ip-d on mul sitaks raskem spoofida, kui lihtsalt jsfiddles teha foreach loop mis get päringuid teeb ajaxiga ja tellimusi tühistab
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: rtfm 2012-10-04 00:03:44
TSITEERITUD:
Ma arvan ka, et diskussioon käib hetkel valedel alustel. Nimelt kes on Zendi ja Magentoga ka tuuma poole pealt rohkem kokku puutunud see teab, et kogu sisend valideeritakse nii ehk naa -- see on ju kogu raamistiku rebu, vabastada arendaja tüütutest kontrollidest ning automatiseerida/turvata nii palju kui võimalik. Topelvalideerimine oleks lihtsalt täiesti kõlblike ressurssi mittesihipärane kasutamine.


ei tea kus see "asd" vahepal sisse kargas , enivei, vaata kasvõi kuidas on handlitud checkoutis kliendi genereerimine ja sealne billing ja shippign addressist tulevate andmete valideerimine. Peaks olema teie jaoks musternäide: whitelistimine, väärtuste escapemine, salvestamine. Kõike seda ei oleks ju never vaja kui automaatselt seda framework sinu eest teeks, ei tee kahjuks. Seega väärt lugemine http://phpsecurity.readthedocs.org/en/latest/index.html
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: pronto 2012-10-04 00:09:35
Enne PDO-d tõmmatakse käima selline asi:

PHP kood:
 $fieldValue   $this->_prepareTableValueForSave($fieldValue$fields[$field]['DATA_TYPE']);

mille sees tehakse

PHP kood:
 $type strtolower($type);
if (
$type == 'decimal' || $type == 'numeric' || $type == 'float') {
    
$value Mage::app()->getLocale()->getNumber($value);
}
return 
$value;

Minu jaoks on see piisavalt hea isegi kui PDO ei teeks sellist asja:

PHP kood:
 case 'int':
    
$value = (int)$value;
    break;
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: rtfm 2012-10-04 00:28:22
TSITEERITUD:
Enne PDO-d tõmmatakse käima selline asi:


cool, aga kõik vormid mille välju te kuskil ennem salvestamist echote peate ikkagi manuaalselt valideerima ja väljundid mis ei tule teie jaoks turvalisest allikast ei päästa teid ussi ega püssirohi sellest.

RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: rtfm 2012-10-04 00:34:49
ennem , kui magama lähen, siis selline pseudolahendus sobiks paremini kus valideeritakse ikkagi õige objekti küljest ja otsuseid tehakse natuke paremas järjekorras


PHP kood:
 

$session 
Mage::getSingleton('checkout/session');
$orderId $session->getLastRealOrderId();
if ( !
$orderId ) {
    
$orderId $this->getRequest()->getParam('VK_STAMP');
}
if ( !
$orderId ) {
    
$this->_redirect('checkout/onepage/failure');
    return;
}

try {
    
    
//siin võiks kontrollida kas seda väärtust on üldse mõtet laadida proovida, int, ja sobivas vahemikus vms
    
$orderId $this->valistanPasa($orderId);
    
    if(!empty(
$orderId)){
         
$order Mage::getModel('sales/order')->loadByIncrementId($orderId);
    } else {
        
Mage::throwException('ei ole midagi laadida');
    }
   
    
    if(!empty(
$order) && is_object($order)){
        
// ei mäleta peast kas method instance või infoinstance
        
$paymentMethod $order->getPayment()->getMethodInstance();
    } else {
        
Mage::throwException('ei ole tellimust olemas');
    }
    
    if(!empty(
$paymentMethod) && is_object($paymentMethod) && method_exists($paymentMethod'verify')){
        
//verify peaks ise enda seest exceptioni viskama kui ei valideeru midagi, pole komponente jne
        
$verify $paymentMethod->verify($this->whitelistEscape($this->getRequest()->getParams()));
    } else {
        
Mage::throwException('ei ole verify võimalust');
    }
    
    if(
$verify === true){
        
//if tingimused klapivad automaatseks invoicemiseks, siis võib seda siin teha
        //if automaatne päring pangast, siis redirecti ei ole vaja , lihtsalt exitist piisab
        
$this->_redirect('checkout/onepage/success');
    } else {
        
Mage::throwException('ei valideeru');
    }
} catch (
Exception $e) {
    
//tellimuste tühistamisega peab tegelema eraldi valideeritud pakett või cron task mis aegunud tellimused canceldab (juhuks, kui klient pangast tagasi ei tule või paketti ei saada kätte)
    
Mage::getSingleton('checkout/session')->addException($e$this->__('%s'$e->getMessage()));
    
Mage::logException($e);
    
$this->_redirect('checkout/onepage/failure');
    
}
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: pronto 2012-10-04 00:58:56
Tead, me arutame homme päeval su ettepaneku läbi, üldiselt on eesmärk ju saada võimalikult hea ja võimaliku ühtlustatud makseviiside pakett, mida saaks Magento propageerimiseks kasutada. Ma päris kindlasti ei ole nõus paari asjaga, kuid nagu ikka on tõde alati kusagil vahepeal.

Lisaks on konks selles, et Magento sajab päris kindlasti enne käpakile sellise massiivse päringute hulga all kui "tühistamisrünnakust" mingit kasu on. See on aga avalik serverite üldine probleem ja selle vastu aitab DOS rünnakute vastane lahendus, mis spämmerid sootuks teisel tasemel bokeerib.
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: rtfm 2012-10-04 01:05:14
TSITEERITUD:

Lisaks on konks selles, et Magento sajab päris kindlasti enne käpakile sellise massiivse päringute hulga all kui "tühistamisrünnakust" mingit kasu on. See on aga avalik serverite üldine probleem ja selle vastu aitab DOS rünnakute vastane lahendus, mis spämmerid sootuks teisel tasemel bokeerib.


noh võib ka ju tiksutada 1 tellimus minutis, magento tellimusnumbrid on üpris etteaimatavad :D see kui kiiresti seda teha ei muuda olematuks fakti, et lambi päringutega ma saan praegu tellimusi canceldada , lihtsalt loogika on seal veidi vildakas selle kohapealt hetkel ja see näide on ikkagi pseudonäide
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: aksel 2012-10-04 09:20:08
Tulen hommikul kontorisse ja mis ma näen! Palju häid mõtteid. Thx, rtfm.

P.S. HTTP(S) sessioonid ei puutu mitte kuidagi asjasse. Selle pärast ma kordan veel, et selle vastuse võib tuua kuller, tädi Maali, postituvi või kuri häkker. Senikaua, kuni vastusel on õige allkiri all - ja mida ma kontrollin panga privaatvõtme teise poole ehk avaliku võtmega - pole sellel vähimatki tähtsust, mis IP aadressilt või allikast sõnum pärineb. Tee PKI omale natuke selgeks:)
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: rtfm 2012-10-04 09:49:03
TSITEERITUD:
Tulen hommikul kontorisse ja mis ma näen! Palju häid mõtteid. Thx, rtfm.

P.S. HTTP(S) sessioonid ei puutu mitte kuidagi asjasse. Selle pärast ma kordan veel, et selle vastuse võib tuua kuller, tädi Maali, postituvi või kuri häkker. Senikaua, kuni vastusel on õige allkiri all - ja mida ma kontrollin panga privaatvõtme teise poole ehk avaliku võtmega - pole sellel vähimatki tähtsust, mis IP aadressilt või allikast sõnum pärineb. Tee PKI omale natuke selgeks:)


no tore :) sul on seisukoht ja las ta olla :) ma ei eeldagi, et midagi väljaöeldu tõttu muutuma peaks. Aga nagu öeldud, siis PKI täna ei pruugi olla ainus ründe eesmärk (tulevikus võib ja seda me ei tea, kui exploite avastatakse jne), loogikavead, xss vektorid jne .

Praegugi on ju panga sõnum turvaline, allkirjastatud ja puha, aga seda ju ei kontrollita (vähemalt tühistamise puhul) ja eeldatakse et vastus on pangalt ja tõenäaoliselt väärtusega mis vajaks võibolla tühistamist ja seda saabki ära kasutada. Kui panga sõnumit ka tühistamise puhul kontrollitaks oleks teine asi ja probleemi ei oleks, kui kontrollitaks ka seda kus päring tuleb ja ei lubataks controllerit valides suvalist valideerimiskonteksti valida, siis ei läheks võibolla see loogikaviga käiku. Suvaline inimene võiks seda pakki alla laadides avastada (nagu mina tegin või teevad paljud arendajad ennem extensioni installimist), aga ta ei saaks seda nii lihtsalt seda kurjasti kasutada. Nö kaitseksite iseendid oma loogikavigade eest natuke.

Ega see vildakas loogika seal mind ei häirigi otseselt, sest mina suudan seda avastada ja refaktoreerida, aga kaupmees lihtsalt ei oskagi seda mainitud loogikaviga avastada (ta ka usaldab pimesi) ja ma pakun, et nii mõnigi kratsiks nõutult kukalt, kui kõik tellimused ühel päeval canceldatud oleks ja mõtleks, et kuidas eelnenud staatuseid taastada :) või mis need üldse olid jne.
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: aksel 2012-10-04 10:04:43
Sinu loogika tellimuste tühistamise osakonna kohta omab uba, selle vastu ei vaidlegi. Nagu prontogi vist juba mainis, on Su jutus häid mõtteid ja kõik need arutatakse läbi. Tänud kaasa mõtlemast!
RE: Magento maksemoodul e. pangalingid nüüd tasuta
Postitaja: rtfm 2012-10-04 10:20:16
TSITEERITUD:
Sinu loogika tellimuste tühistamise osakonna kohta omab uba, selle vastu ei vaidlegi. Nagu prontogi vist juba mainis, on Su jutus häid mõtteid ja kõik need arutatakse läbi. Tänud kaasa mõtlemast!


cool :) pange githubi või bitbucketisse source ja modmani script ka, siis saab arendaja magentoconnecti vahele jätta ja contributeda ka kui keegi peaks viitsima.

Leheküljed: 1 2 

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0897288322449