opencart 的密碼加密機制

11:23 SAM 版主 請問一下

opencart 的密碼加密機制是
password = ‘” . $db->escape(sha1($salt . sha1($salt . sha1($data[‘password’])))) . “‘

先取得 salt 在用 sha1 加密三次變成亂數放入資料表密碼欄位

那在自寫登入程式中
要怎麼把 input 欄位取得的 password 值 轉成 opencart 的亂碼
好做登入比對呢

09:09 台灣碼農SUFFIXBIG @SAM 我是沒自製登入過 ,如果我寫過我就可以直接跟你講opencart 的密碼加密機制是什麼-然後你打得對不對之類–可惜我沒幹過這件事,如果你研究出他的加密機制是sha1($salt . sha1($salt . sha1($data[‘password’])))) 那你就把 加密的方式寫成 一個涵式

09:10 SAM 嗯嗯
09:10 SAM 好
09:10 台灣碼農SUFFIXBIG 然後’password’ => bcrypt($data[‘password’])
09:11 台灣碼農SUFFIXBIG 就是 把密碼用函式換成亂數
09:12 台灣碼農SUFFIXBIG 然後就是 資料庫查詢了
09:13 SAM 嗯嗯 我在試試
09:23 台灣碼農SUFFIXBIG 算了-A 我好像懂你問題了 你問題是 salt 怎取得的是不是
09:24 SAM 現在只是在想要怎麼把輸入的密碼加密成跟 opencart 的一樣而已
09:25 台灣碼農SUFFIXBIG

salt = ‘” . $this->db->escape($salt = token(9)) . “‘, password = ‘” . $this->db->escape(sha1($salt . sha1($salt . sha1($password)))) . “‘

09:26 台灣碼農SUFFIXBIG $salt 是 亂數 9碼
09:26 台灣碼農SUFFIXBIG 也就是說 比對時是 用 username 去抓用戶資料
09:27 台灣碼農SUFFIXBIG 然後取出 salt
09:27 台灣碼農SUFFIXBIG 在用 salt 和密碼套運算
09:28 台灣碼農SUFFIXBIG 再比對password 是否相等
09:28 台灣碼農SUFFIXBIG 圖片
09:29 台灣碼農SUFFIXBIG 解釋起來 salt 就是每個人算密碼 的KEY

OPENCART的匯率更新功能壞掉

——————————————————————————————————
如果您不知道原來的Opencart功能,則更新貨幣匯率的功能不再有效。

為什麼?
原因是因為它使用Yahoo! 財務API服務,該服務已停止並且不再起作用。
到目前為止,這個問題在最初的Opencart版本中並沒有解決,所以我們可以提供便宜而簡單的解決方案。

這個小補丁通過替換Opencart原始貨幣更新程序解決了問題,並從其他可靠來源獲取貨幣信息。
——————————————————————————————————
#Currency Rates Fix 貨幣匯率修正 相關插件
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=32352 644 Downloads 測試這無法正常運行
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=32642 $20 美金
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=19640 貨幣修復 Currency Fixes 最近有更新 782 Downloads 下載
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=32355 匯率提供商

官方匯率修正套件
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=32352&filter_search=currency

先取得密藥
https://www.alphavantage.co/support/#api-key
歡迎來到Alpha Vantage!您的API密鑰是:xxxxxxxxxxx。請記錄此API密鑰,以便終身訪問Alpha Vantage。

修改處
$this->model_localisation_currency->refresh(true); 原版更新匯率方法 換為

$this->load->model(‘extension/module/currency_update’);
$this->model_extension_module_currency_update->update(true);

交易佣金計算公式
$value = $comission ? $value + ($value * $comission) : $value;//交易佣金-匯率換算後還要再加上這個百分比

===
#匯率更新API 來源位置
===
api.fixer.io 幣種很少,但是完全免費,一天更新一次,支持 https 缺點-各種幣當中無新台幣
alphavantage.co 要API密鑰 可以用
yahoo.com 使用Yahoo API 抓取即時匯率-已完全不能使用
http://download.finance.yahoo.com/

https://tw.rter.info/capi.php 全球即時匯率API
http://rate.bot.com.tw/Pages/Static/UIP003.zh-TW.htm 台灣銀行 寫法http://ezs.no-ip.org/bitblog/blog/2016/01/15/%E8%BD%89%E8%B2%BC-php-%E5%8F%B0%E7%81%A3%E9%8A%80%E8%A1%8C%E7%9A%84%E5%8C%AF%E7%8E%87json/
https://ebank.taipeifubon.com.tw 換匯網站

===
#yahoo.com 已完全不能使用
===
http://download.finance.yahoo.com/d/quotes.csv?s=TWDCNY=X,TWDHKD=X,TWDGBP=X,TWDUSD=X,TWDEUR=X&f=sl1&e=.csv

===
api.fixer.io
===
幣種很少,但是完全免費,一天更新一次,支持 https
缺點-各種幣當中無新台幣
{“base”:”EUR”,”date”:”2018-03-02″,”rates”:{“AUD”:1.5885,”BGN”:1.9558,”BRL”:4.0096,”CAD”:1.5858,”CHF”:1.1512,”CNY”:7.8121,”CZK”:25.409,”DKK”:7.4479,”GBP”:0.8932,”HKD”:9.6397,”HRK”:7.4445,”HUF”:313.88,”IDR”:16963.0,”ILS”:4.2508,”INR”:80.32,”ISK”:123.9,”JPY”:129.77,”KRW”:1334.8,”MXN”:23.304,”MYR”:4.8267,”NOK”:9.6178,”NZD”:1.7014,”PHP”:64.033,”PLN”:4.1944,”RON”:4.6595,”RUB”:70.385,”SEK”:10.164,”SGD”:1.6261,”THB”:38.77,”TRY”:4.6998,”USD”:1.2312,”ZAR”:14.707}}

https://api.fixer.io/latest 全列

目標:https://api.fixer.io/latest?base=TWD&symbols=USD,JPY
{「error」:「基地無效」}
https://api.fixer.io/latest?base=USD&symbols=TWD,JPY

===
#alphavantage.co
===
首先,你需要去alphaVantage,註冊,並https://www.alphavantage.co/support/#api-key獲得一個API密鑰。

這個有3總幣的話要跑2次
[0] => https://www.alphavantage.co/query?function=CURRENCY_EXCHANGE_RATE&from_currency=TWD&to_currency=USD&apikey=8S4L3Y4JGS5NEDQ4
[1] => https://www.alphavantage.co/query?function=CURRENCY_EXCHANGE_RATE&from_currency=TWD&to_currency=JPY&apikey=8S4L3Y4JGS5NEDQ4
“Realtime Currency Exchange Rate”: {
“1. From_Currency Code”: “TWD”,
“2. From_Currency Name”: “New Taiwan Dollar”,
“3. To_Currency Code”: “USD”,
“4. To_Currency Name”: “United States Dollar”,
“5. Exchange Rate”: “0.03414951”,
“6. Last Refreshed”: “2018-03-04 05:44:20”,
“7. Time Zone”: “UTC”
}
[Realtime Currency Exchange Rate] => stdClass Object
(
[1. From_Currency Code] => TWD
[2. From_Currency Name] => New Taiwan Dollar
[3. To_Currency Code] => JPY
[4. To_Currency Name] => Japanese Yen
[5. Exchange Rate] => 3.61141160
[6. Last Refreshed] => 2018-03-04 06:35:15
[7. Time Zone] => UTC
)

#手動更新匯率
http://dream.test.com/admin/index.php?route=localisation/currency/refresh&token=ex8dqMfby77eBk2VojUAiV3U6D0smXt3 原版
http://dream.test.com/admin/index.php?route=extension/module/currency_update/update&token=ex8dqMfby77eBk2VojUAiV3U6D0smXt3 改版

最佳的免費電子商務系統(Best E-commerce Solution),第一名由 OpenCart 獲得

CMS Critic Awards 網站公佈了2017年網友票選結果,最佳的免費電子商務系統(Best E-commerce Solution),第一名由 OpenCart 獲得。

資料來源 : https://www.cmscritic.com/awards/

OpenCart 是全球知名度高、功能強大的開源電商系統,
OpenCart 主要的系統功能包括了 :

[系統類]
 系統原始程式完全開源(Open Source),可自行下載及修改。
 支援多國語言、貨幣。
 支援版型、擴充模組,安裝及設定功能。
 提供資料庫備份及還原工具。
 可自訂首頁及內頁排版樣式。
 可自訂商店頁面內容。
 支援搜尋引擎優化(SEO)。

[購物結帳]
 多種運費計算模組。
 多種付款方式模組。
 紅利積點機制。
 優惠券(折扣碼)機制。
 購物禮券機制。

[管理類]
 商品、模組、版面、訂單、客戶、行銷活動之管理。
 可自訂會員群組(例如老客戶、經銷商、一般會員)。
 提供會員通知功能(電子報)。
 提供商品退換貨記錄管理。
 可列印交易明細/出貨單。
 多種銷售統計報表。

[商品類]
 可自訂商品分類及子分類,商品分類及層級皆無限制
 可自行上架商品,商品數無限制。
 可設定商品優惠價格及優惠期間。
 可設定商品階梯式量大優惠折扣(例如10件以上九折)。
 可設定商品選項(尺寸、顏色、自訂)。
 可設定相關商品(例如在某相機商品頁面,出現記憶卡商品)。
 可設定商品的品牌,自行編輯品牌資料。
 提供商品評價功能。

不過奇怪,我介紹這麼多,也從來沒有人要找我架設 購物車系統過。

台灣開店平台大集合-調查日期2017年10

很多開店平台都有提供試用方案、說明會,我們強烈建議商家們在租用服務之前,務必先試用過系統的各項功能,不要只是走馬看花,不要只是覺得後台介面看起來很順眼,就預期系統會很棒,從商品建檔、上架、測試註冊會員、下單、結帳、後台訂單管理、確認付款、更新訂單狀態等等,把網站上線營運後的基本流程式跑一遍,再評估是否順手、是否滿足需求。另外客服的支援也是重點,不過這部分難以分析比較,建議多 google 一下前人留下的意見。

有些平台會以一次簽約多年提供優惠的方式,來誘導商家簽訂長期租賃契約,如果您對平台還不是非常了解(包括系統適用性、平台穩定性、客服品質),建議不要為了省幾千塊,貿然簽下長期租賃契約,讓自己可能陷入進退不得的困境。

以下是我們收錄的台灣開店平台,我們以各家平台的 Alexa 排名來做排序,排名在前的代表網站流量排名比較高,但未必等同於服務比較優或功能比較強,有的只是因為廣告預算花得比較多而已,此清單將不定期更新,以維持資料的參考價值。

91APP https://www.91app.com/
SHOP2000 http://www.shop2000.com.tw/
QDM http://qdm.com.tw/
meepShop http://meepshop.com/
EasyStore https://www.easystore.co/
Shopline https://shopline.tw/
Cyberbiz 架EZ https://www.cyberbiz.co/
mymy http://open.mymy.tw/
網路開店123 https://www.shop123.com.tw/index.php?
XAPP https://www.xapp.tw/
WACA Store https://www.waca.net/
FUNOO http://www.funoo.tw/
365SHOP https://www.365shop.com.tw/
KD8開店吧! https://www.boutir.com/
網站達人 http://www.oo.com.tw/
Boutir 掌舖 https://kd8shop.net/shop
Joo https://www.joo.com.tw/joo/
Oopen開開店(已併入 funoo.tw) http://www.oopen.com.tw/agent/oopen/
31APP.com https://31app.com/xmobile/
EZcart https://www.ezcart.com.tw/
I4U Web https://www.i4uweb.com
Topwebx https://www.topwebx.com/
尚青 http://www.shangching.com/
若森 MoshiMori https://www.moshimori.com/zh/homepage/
正月 http://www.januarytc.com/sa/index.aspx
YEESGO http://yeesgo.com/
新竹物流 https://scm.hct.com.tw/B2B/index.htm
WebDiY http://www.web-diy.com.tw/
SMARTSHOP http://www.smartshop.com.tw/
微酸番茄 http://www.openrwd.com.tw/
有塊地 http://www.haveafarm.com.tw/

如果您也是提供開店服務的平台,而我們尚未收錄到您的網站,請來信 告知我們,我們會盡快將您的網站收錄到上面的清單中。

新增了幾家,並重新調整排序(依最新的 Alexa 排名),感覺開店的需求依然很強勁,不過要投入的新同學,還是建議要審慎評估開店平台,因為幾乎每個月都會遇到有人詢問,從某某平台(不特定)搬家到 OpenCart 的可行性,偶爾還會遇到已一次繳交3年費用的 ….

若您的商店有一些特殊需求需要客制,建議不要太期待開店平台廠商會為您專案設計,有這種情形還是建議以 OpenCart 作為優先考量。

OPENCATY 原版錯誤 的地方2

=====================================================================
OPENCART 關於EMAIL 通知信功能 功能 20171124完工
=====================================================================
可以設定EMAIL通知信位置的地方有2個
1.後台登入後=>系統管理=>商店設置->編輯=>商店->電子郵件
2.後台登入後=>系統管理=>商店設置->編輯=>郵件主機->附加其它通知信箱
商店->電子郵件:
前台網頁下方 聯絡我們 的留言功能 EMAIL 就寄到這裡
郵件主機->附加其它通知信箱:
當有通知店家信件時,將同時寄送至這些信箱,逗號分隔

 

問:網頁下方 聯絡我們 的留言功能 EMAIL 是 寄到哪
答:那個 是單純的 寄1封信功能 只會寄給 商店設定中=>電子郵件的位置

這個功能 原版 還有錯誤 就是 幹! 寄件人 收件人 都是 管理員 你不知道誰寄給你的
我以貼心寫了OCMOD做出3點修正
1.把寄件人 改為客戶,
2.同時寄信給 附加其它通知信箱 所有人
3.信件內容我加了2行字(加哪2行字,你裝好就知道了)

 

<?xml version=”1.0″ encoding=”UTF-8″?>

-<modification>

<name>前台-聯絡我們的留言原本只會寄一封EMAIL通知1個人改成寄給多個人</name>

<code>information_contact_alert_email</code>

<version>v1.0.0.1適用OPENCART2.3.X</version>

<link/>

<email>suffixbig@gmail.com</email>

<author>suffixbig</author>

<!–註解:修改檔案–>

 

-<file path=”catalog/controller/information/contact.php”>

 

-<operation>

 

-<search>

<![CDATA[$mail->setFrom($this->config->get(‘config_email’));]]>

</search>

 

-<add position=”replace”>

<![CDATA[ $mail->setFrom($this->request->post[’email’]);//寄件者 改成客人的 ]]>

</add>

</operation>

 

-<operation>

 

-<search>

<![CDATA[$mail->setText($this->request->post[‘enquiry’]);]]>

</search>

 

-<add position=”replace”>

<![CDATA[ $mail->setText($this->request->post[‘enquiry’].”\n\n客戶EMAIL:\n”.$this->request->post[’email’]); ]]>

</add>

</operation>

 

-<operation info=”Adding sitekey in controller”>

 

-<search>

<![CDATA[$mail->send();]]>

</search>

 

-<add position=”after”>

<![CDATA[ // 發送到其他附加電子郵件 的程式原碼 S $emails = explode(‘,’, $this->config->get(‘config_alert_email’)); foreach ($emails as $email) { if ($email && filter_var($email, FILTER_VALIDATE_EMAIL)) { $mail->setTo($email); $mail->send(); } } // 發送到其他附加電子郵件 的程式原碼 END ]]>

</add>

</operation>

</file>

</modification>

OPENCATY 原版錯誤 的地方1-可以不輸入-驗證碼-就到下一個頁面

==============================
#OPENCATY 原版錯誤 的地方1
2.3.02 與 3.0.2.0
==============================
可以不輸入-驗證碼-就到下一個頁面

原因例如3個地方有驗證碼
登入 留言 評論
其中之一有輸入過-驗證碼-就可以不用再輸入驗證碼-按送出就到下一個頁面
設置方法
[系統管理] [商店管理] [選項設定] 最下方的 [驗證碼] 去設定。
可以在這幾個地方添加
註冊
非會員結帳
評論
退換貨
與我聯絡

正確修改建議
例如
1.在網站任意位置輸入過一次驗證碼就把所有有驗證碼的地方拿掉
2.每次都要驗證沒有例外
你認為應該如何修


session->data['gcapcha'])) {

$this->load->language('extension/captcha/google_captcha');//載入語言

$data['text_captcha'] = $this->language->get('text_captcha');

$data['entry_captcha'] = $this->language->get('entry_captcha');

if (isset($error['captcha'])) {
$data['error_captcha'] = $error['captcha'];
} else {
$data['error_captcha'] = '';
}

$data['site_key'] = $this->config->get('google_captcha_key');

$data['route'] = $this->request->get['route'];

return $this->load->view('extension/captcha/google_captcha', $data);

}//驗證通過一次後就不在檢查 END
}
//驗證用
public function validate() {
//驗證通過一次後就不在檢查
if (empty($this->session->data['gcapcha'])) {
$this->load->language('extension/captcha/google_captcha');
//3.0多這段
if (!isset($this->request->post['g-recaptcha-response'])) {
return $this->language->get('error_captcha');
}

$recaptcha = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret=' . urlencode($this->config->get('google_captcha_secret')) . '&response=' . $this->request->post['g-recaptcha-response'] . '&remoteip=' . $this->request->server['REMOTE_ADDR']);

$recaptcha = json_decode($recaptcha, true);

if ($recaptcha['success']) {
$this->session->data['gcapcha'] = true;
} else {
return $this->language->get('error_captcha');
}
}
}
}

各位知道-訂單通知信可以不只寄給管理員-你要同時寄給10個人都可以

各位知道-訂單通知信可以不只寄給管理員-你要同時寄給10個人都可以

還有一個重點-這功能OPENCART v.2.3.0.2 原版是壞的-你怎樣按存檔設定值都不會儲存

============
#20171030
============
OPENCART v.2.3.0.2 原版就壞掉的功能
系統管理 => 商店設置 => 郵件設定 => 額外的通知信箱 存檔無用

在ntcart論壇 管理員 教大家

請直接開啟檔案 admin/view/template/setting/setting.tpl
找到 config_mail_alert_email 1166行
取代成 config_alert_email
儲存後重讀畫面設定試試。 以上方法OK
———————————–
如法泡製-以下是詳細修改過程
———————————–
20171031 研究 OPENCART 版本 2.3.0.2
系統管理 => 郵件設定 => 額外的通知信箱 存檔無用 正確修法
請直接開啟檔案 admin/view/template/setting/setting.tpl
1166行 找


打完收工

但 OPENCART 版本 3.0.2.0 這功能正常 的變數名稱 就完全不一樣了 不過 3.0.2.0 這功能也沒有壞就是了

OPENCART 版本 3.0.2.0
系統管理 => 郵件設定 => 額外的通知信箱 存檔OK
admin\view\template\setting\setting.twig

admin\controller\setting\setting.php
787行
if (isset($this->request->post[‘config_mail_alert_email’])) {
$data[‘config_mail_alert_email’] = $this->request->post[‘config_mail_alert_email’];
} else {
$data[‘config_mail_alert_email’] = $this->config->get(‘config_mail_alert_email’);
}
發送訂單信時
$emails = explode(‘,’, $this->config->get(‘config_mail_alert_email’));
foreach ($emails as $email) {
if ($email && filter_var($email, FILTER_VALIDATE_EMAIL)) {
$mail->setTo($email);
$mail->send();
}
}