sql >> Database teknologi >  >> RDS >> Mysql

magento tabel sales_flat_order felt protect_code forklaring

Hvor er det genereret?

Hvis du kigger i app/code/core/Mage/Sales/Model/Order.php på omkring linje 2052 , finder du følgende:

$this->setData('protect_code', substr(md5(uniqid(mt_rand(), true) . ':' . microtime(true)), 5, 6));

Det er her protect_code genereres for ordren (ved hjælp af en kombination af md5, uniqid og tilfældigt heltal.

Hvad bruges det til?

Hvis du kigger i app/code/core/Mage/Sales/Helper/Guest.php og find loadValidOrder fungere. Du vil se protect_code bruges i nogle områder for at sikre, at den ordre, der indlæses, er den rigtige for gæstens cookieværdi.

Det bruges også på andre områder, såsom sammenligning af sporingsoplysninger. Du kan se flere forekomster af getProtectCode() metode, der kaldes i forsendelsesmodellerne for at sammenligne ordren med sporingsinformationen. Et eksempel på en funktion, der bruger den, er:

public function getTrackingInfoByTrackId()
{
    $track = Mage::getModel('sales/order_shipment_track')->load($this->getTrackId());
    if ($track->getId() && $this->getProtectCode() == $track->getProtectCode()) {
        $this->_trackingInfo = array(array($track->getNumberDetail()));
    }
    return $this->_trackingInfo;
}

Som du kan se med $this->getProtectCode() == $track->getProtectCode() , sporings protect_code skal matche forsendelsens protect_code .




  1. Kodedækningsstatistikker

  2. SQL Hvordan man summerer fra en anden tabel og indsætter i en anden tabel

  3. SQL Injection beskyttelse med kun str_replace

  4. Mysql2::Fejl:Forkert strengværdi