Wo wird es generiert?
Wenn Sie in app/code/core/Mage/Sales/Model/Order.php
schauen etwa auf der Linie 2052
, finden Sie Folgendes:
$this->setData('protect_code', substr(md5(uniqid(mt_rand(), true) . ':' . microtime(true)), 5, 6));
Hier ist protect_code
wird für die Bestellung generiert (unter Verwendung einer Kombination aus md5, uniqid und zufälliger Ganzzahl.
Wofür wird es verwendet?
Wenn Sie in app/code/core/Mage/Sales/Helper/Guest.php
nachsehen und finden Sie loadValidOrder
Funktion. Sie sehen protect_code
Wird in einigen Bereichen verwendet, um sicherzustellen, dass die geladene Bestellung die richtige für den Cookie-Wert des Gastes ist.
Es wird auch in anderen Bereichen verwendet, z. B. beim Vergleich von Tracking-Informationen. Sie können mehrere Instanzen von getProtectCode()
sehen -Methode, die in den Sendungsmodellen aufgerufen wird, um die Bestellung mit den Sendungsverfolgungsinformationen zu vergleichen. Ein Beispiel für eine Funktion, die es verwendet, ist:
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;
}
Wie Sie mit $this->getProtectCode() == $track->getProtectCode()
sehen können , der Tracking-protect_code
muss mit dem protect_code
der Sendung übereinstimmen .