1.) 去除   (76 records)
SELECT * FROM products_description WHERE products_description LIKE '% %'
UPDATE products_description SET products_description=REPLACE(products_description,' ','') WHERE products_description LIKE '% %'
2.) 去除 (Please Click Picture to enlarge the picture) (324 records)
SELECT * FROM products_description WHERE products_description LIKE '%(Please Click Picture to enlarge the picture)%'
UPDATE products_description SET products_description=REPLACE(products_description,'(Please Click Picture to enlarge the picture)','') WHERE products_description LIKE '%(Please Click Picture to enlarge the picture)%'
10.) 去除
(82 + 128 records)
SELECT * FROM products_description WHERE products_description LIKE '%
%'
UPDATE products_description SET products_description=REPLACE(products_description,'
','') WHERE products_description LIKE '%
%';
UPDATE products_description SET products_description=REPLACE(products_description,'
','') WHERE products_description LIKE '%
%';
11.) 去除
(38 + 48 records)
SELECT * FROM products_description WHERE products_description LIKE '%
%'
UPDATE products_description SET products_description=REPLACE(products_description,'
','') WHERE products_description LIKE '%
%';
UPDATE products_description SET products_description=REPLACE(products_description,'
','') WHERE products_description LIKE '%
%';
12.) 去除 (102 + 98 records)
SELECT * FROM products_description WHERE products_description LIKE '%%'
UPDATE products_description SET products_description=REPLACE(products_description,'','') WHERE products_description LIKE '%%';
UPDATE products_description SET products_description=REPLACE(products_description,'','') WHERE products_description LIKE '%%';
13.) 去除 (180 + 102 records)
SELECT * FROM products_description WHERE products_description LIKE '%%'
UPDATE products_description SET products_description=REPLACE(products_description,'','') WHERE products_description LIKE '%%';
UPDATE products_description SET products_description=REPLACE(products_description,'','') WHERE products_description LIKE '%%';
14.) 去除 (150 records)
SELECT * FROM products_description WHERE products_description LIKE '% %'
UPDATE products_description SET products_description=REPLACE(products_description,' ','') WHERE products_description LIKE '% %';
SELECT * FROM products_description WHERE products_description LIKE '%%'
--- 20191201 修改舊RO站產品說明內容 + href
=========================================================================================================================
1.) http://61.220.188.82/items/Pic/Public/US-I.bmp -> http://59.124.16.10/items/Pic/Public/US-I.jpg
SELECT * FROM products_description WHERE products_description LIKE '%http://61.220.188.82/items/Pic/Public/US-I.bmp%'
UPDATE products_description SET products_description=REPLACE(products_description,'http://61.220.188.82/items/Pic/Public/US-I.bmp','http://59.124.16.10/items/Pic/Public/US-I.jpg') WHERE products_description LIKE '%http://61.220.188.82/items/Pic/Public/US-I.bmp%'
2.) http://59.124.16.10/items/Pic/FT/DIQ-1.JPG -> http://59.124.16.10/items/Pic/FT/DIQ-2.JPG
SELECT * FROM products_description WHERE products_description LIKE '%http://59.124.16.10/items/Pic/FT/DIQ-1.JPG%'
UPDATE products_description SET products_description=REPLACE(products_description,'http://59.124.16.10/items/Pic/FT/DIQ-1.JPG','http://59.124.16.10/items/Pic/FT/DIQ-2.JPG') WHERE products_description LIKE '%http://59.124.16.10/items/Pic/FT/DIQ-1.JPG%'
3.) http://59.124.16.10/items/Pic/22-4114/22-4 /r 114.jpg -> http://59.124.16.10/items/Pic/22-4114/22-4114.jpg (products_id=191)
4.) hhttp://59.124.16.10/items/Pic/000/FT/FT-PH.jpg -> hhttp://59.124.16.10/items/Pic/000/FT/FT-PH.jpg (products_id=308)
5.) http://59.124.16.10/items/Pic/000/1042Q-1.jpg -> IMG rmoved (products_id=340)
6.) http://sm7.sitemeter.com/meter.asp?site=sm7purewaterclub -> IMG rmoved (products_id=414)
7.) (products_id=490)
http://59.124.16.10/items/Pic/22-10/22-10- /r F5-I-1.jpg -> http://59.124.16.10/items/Pic/22-10/22-10-F5-I-1.jpg
http://59.124.16.10/items/PW-Pic/PW-22- /r 82/PW-22-82-F5-I.jpg -> http://59.124.16.10/items/PW-Pic/PW-22-82/PW-22-82-F5-I.jpg
http://59.124.16.10/items/PW- /r Pic/PW-22-82/PW-22-82-F1.jpg -> http://59.124.16.10/items/PW-Pic/PW-22-82/PW-22-82- F6.jpg
http://59.124.16.10/items/PW-Pic/PW-22- 82/PW-22-82- /r F6.jpg -> http://59.124.16.10/items/PW-Pic/PW-22-82/PW-22-82- F6.jpg
8.) -> IMG rmoved (products_id=542)
SELECT * FROM `products_description` WHERE `products_description` like '%%'
UPDATE products_description SET products_description=REPLACE(products_description,'','') WHERE products_description LIKE '%%'
9.)
http://59.124.16.10/items/Pic/000/FT/FT-PP05_2.JPG -> http://59.124.16.10/items/Pic/000/FT/FT-PP05_2.JPG (products_id=595,597,637)
SELECT * FROM `products_description` WHERE products_description LIKE '%
%' AND (products_id='595' OR products_id='597' OR products_id='637')
UPDATE products_description SET products_description=REPLACE(products_description,'
','') WHERE products_description LIKE '%
%' AND (products_id='595' OR products_id='597' OR products_id='637')
10.) (products_id=632,633,658,661)
http://59.124.16.10/items/Pic/22-309/22-115-F1.jpg -> http://59.124.16.10/items/Pic/22-309/22-115-F1.jpg
http://59.124.16.10/items/Pic/22-309/22-115-F3.jpg -> http://59.124.16.10/items/Pic/22-309/22-115-F3.jpg
http://59.124.16.10/items/Pic/FT/T33.JPG -> http://59.124.16.10/items/Pic/FT/T33.JPG
http://59.124.16.10/items/Pic/22-36/22-36-F3.jpg -> http://59.124.16.10/items/Pic/22-36/22-36-F3.jpg
http://59.124.16.10/items/Pic/22-36/22-36-P4.jpg -> http://59.124.16.10/items/Pic/22-36/22-36-P4.jpg
http://59.124.16.10/items/Pic/22-36/22-36-P6.jpg -> http://59.124.16.10/items/Pic/22-36/22-36-P6.jpg
SELECT * FROM `products_description` WHERE products_description LIKE '%
%' AND (products_id='632' OR products_id='633' OR products_id='658' OR products_id='661')
UPDATE products_description SET products_description=REPLACE(products_description,'
','') WHERE products_description LIKE '%
%' AND (products_id='632' OR products_id='633' OR products_id='658' OR products_id='661')
11.) http://59.124.16.10/items/Pic/000/FS/FS20-PPx25-1.JPG -> http://59.124.16.10/items/Pic/000/FS/FS20-PPx24-1.JPG (products_id=675)
12.) https: -> http: (products_id=709,716)
SELECT * FROM `products_description` WHERE products_description LIKE '%https:%' AND (products_id='709' OR products_id='716')
UPDATE products_description SET products_description=REPLACE(products_description,'https:','http:') WHERE products_description LIKE '%https:%' AND (products_id='709' OR products_id='716')
?? http://www.purewaterclub.com/catalog/images/Psi-1.jpg -> http://59.124.16.10/catalog/images/Psi-1.jpg 不顯現 30 pic
?? http://i.ebayimg.com/00/s/NDgwWDY0MA==/z/29MAAMXQ3kNTiBiu/$_12.JPG -> href ? 15 pic
http://www.purewaterclub.com/catalog/product_info.php?products_id=709 -> Miss 5 Pic
http://www.purewaterclub.com/catalog/product_info.php?products_id=711 -> Miss 1 Pic
http://www.purewaterclub.com/catalog/product_info.php?products_id=712 -> Miss 1 Pic
----------------> total 52 pic
--- 20191130 修改舊RO站產品圖片連結
=========================================================================================================================
UPDATE products_description SET products_description_0=REPLACE(products_description_0,' ','') WHERE products_id='169' AND language_id='1'
http://www.purewaterclub.com/catalog/product_info.php?cPath=88_87&products_id=158
舊RO站table products_description->products_description 1114 records
Logo Max 218 x 70
1.)改圖片 IP->?? AWS domain + 去掉目錄?
http://59.124.16.10/items/Pic/22-57/22-57-F5-2.jpg
2.)改file:// 244 records
file:///E:/Documents%20and%20Settings/Administrator/Local%20Settings/Temporary%20Internet%20Files/FrontPageTempDir/pvwA.htm#RO-P1
3.)去掉亂碼 76 records
 
4.)去掉ebay hyper link 656 records
http://cgi5.ebay.com/ws/eBayISAPI.dll?SimilarListing&itemid=110389038550#RO-P1
http://stores.ebay.com/purewaterclub_Water-Filter-System_W0QQcolZ4QQdirZ1QQfclZ4QQfsubZ231976010QQftidZ2QQtZkmQQ_trksidZp1742.m154.l1264
5.)去掉無效說明
a.) (Please Click Picture to enlarge the picture) -> 324 records
b.)Great Gift!
We Could Ship This Item To Your Friend Within US Continatal!
Good For Your Family And Friends! -> 328 records
6.)去掉破圖 ??
http://59.124.16.10/items/Driver/driver.jpg
7.)去掉下載Download Manual hyper link 32 records
http://59.124.16.10/items/Driver/Protable%20RO%20instruction.doc
8.)去掉Buy It Now價格 194 records
Buy It Now is Just US$108.99 and 2-7 days* you will GET IT at HOME within US!!
9.)去掉Retail Price價格 256 records
(Retail Price:US$320)
SELECT * FROM `products_description` WHERE `products_description` LIKE '%file:%'
--- 20191110 修改舊RO站產品說明
=========================================================================================================================
magento2 table customer_entity->password_hash:
format -> hash(md5/sha256) : salt (max 32digit) : version (0/1) (md5/sha256) ?->: convet to version (1/2?)
b7de469740dc4f7edf08fe26c4e3ee5a53bf03c5467ff2f02a831c94b707d455:mCIgmxGBoZBGKgL6vkc7xIcZcKUwYQvd:1
v.0登入成功後將主動升級v.1用sha256重寫password_hash
osCommerce 2.4.3.1 table customers->customers_password:
format v.1 -> hash(md5) : salt (2digit)
df7cde40bc6922f8a885a21ebe8fd4b0:70
format v.2 -> $P$ + D(重複作md5次數 D=2^13=8192次) + salt (64進位 8digit) + hash (64進位 21+1digit 最後1位2bit=21*6+2=128=32*4=16進位 32digit)
$P$ D NVAIbn8k ZQQop6d3QAg2lFVkSG2o2 /
./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz (64進位) -> 0123456789abcdef (16進位)
migrate osc to mag2
v.1 -> osc + : + 0
df7cde40bc6922f8a885a21ebe8fd4b0:70 -> df7cde40bc6922f8a885a21ebe8fd4b0:70:0
v.2 -> osc + : + osc去掉首位$ + : + 0
利用mag2的salt位置傳遞存檔hash,新增程式判斷若為osc v.2,則字首加上$後依v.2規則產生hash,比對若正確後回送hash
$P$DNVAIbn8kZQQop6d3QAg2lFVkSG2o2/ -> $P$DNVAIbn8kZQQop6d3QAg2lFVkSG2o2/:P$DNVAIbn8kZQQop6d3QAg2lFVkSG2o2/:0
$P$DYd3TBSaZT6C85hm5amzC8RwGcu3Pf. -> $P$DYd3TBSaZT6C85hm5amzC8RwGcu3Pf.:P$DYd3TBSaZT6C85hm5amzC8RwGcu3Pf.:0
joe /var/www/html/magento8pm/vendor/magento/framework/Encryption/Encryptor.php
1.)新增產生osc v.2的password hash
public function GenPasswordHash($password,$setting){
$itoa64='./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
$count_log2 = strpos($itoa64,$setting[3]);
if ($count_log2 < 7 || $count_log2 > 30)return $output;
$count = 1 << $count_log2;
$salt = substr($setting, 4, 8);
if (strlen($salt) != 8)return $output;
if (PHP_VERSION >= '5') {
$hash = md5($salt . $password, TRUE);
do {
$hash = md5($hash . $password, TRUE);
} while (--$count);
}
else {
$hash = pack('H*', md5($salt . $password));
do {
$hash = pack('H*', md5($hash . $password));
} while (--$count);
}
$output = substr($setting, 0, 12);
$tmpout = '';
$count=16;
$i = 0;
do {
$value = ord($hash[$i++]);
$tmpout .= $itoa64[$value & 0x3f];
if ($i < $count)$value |= ord($hash[$i]) << 8;
$tmpout .= $itoa64[($value >> 6) & 0x3f];
if ($i++ >= $count)break;
if ($i < $count)$value |= ord($hash[$i]) << 16;
$tmpout .= $itoa64[($value >> 12) & 0x3f];
if ($i++ >= $count)break;
$tmpout .= $itoa64[($value >> 18) & 0x3f];
}while ($i < $count);
$output .= $tmpout;
return $output;
}
2.)修改原有的isValidHash(),加入判斷利用salt位置傳遞的hash值是否為osc v.2,並比對由GenPasswordHash()產生的v.2 hash是否正確
public function isValidHash($password, $hash)
{
$this->explodePasswordHash($hash);
foreach ($this->getPasswordVersion() as $hashVersion) {
// $password = $this->hash($this->getPasswordSalt() . $password, $hashVersion);
//----- 20191109 DV -------
//--- check if RO Site 2nd password hash ($P$D... 33 digit)->(P$D... 32 digit)
$tmpsalt=$this->getPasswordSalt();
if($hashVersion==0 && substr($tmpsalt,0,3)=='P$D'){
//--- make hash by salt
$tmpsalt="$".$tmpsalt;
//--- check if password OK with SQL hash($ + P$D..)
if($this->GenPasswordHash($password,$tmpsalt)==$tmpsalt){
//--- set password -> generated hash
$password=$tmpsalt;
}
}
else{
$password=$this->hash($tmpsalt.$password,$hashVersion);
}
//-----
}
return Security::compareStrings(
$password,
$this->getPasswordHash()
);
}
magento2 核心密碼比對程式
01.)D:\Temp-Downloads\AWS\8pm-zip\vendor\zendframework\zend-crypt\src\Utils.php -> public static function compareStrings($expected, $actual) -> 逐ord()比對產生Hash vs SQLHash -> return true
02.)D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\framework\Encryption\Helper\Security.php -> public static function compareStrings($expected, $actual) -> by pass call (01) -> return true
03.)D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\framework\Encryption\Encryptor.php -> public function isValidHash($password, $hash) ->展開SQLHash成passwordHashMap array,根據不同$hashVersion()+getPasswordSalt()+password產生Hash -> 比對SQLHash+getPasswordHash() call (02) -> return true
03-1.)D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\zendframework1\library\Zend\Crypt.php -> public static function hash($algorithm, $data, $binaryOutput = false)實際產生Hash for (03)
/var/www/html/magento8pm/vendor/magento/module-customer/Model/AccountManagement.php
cd /var/www/html/magento8pm/vendor/magento/module-customer/Model/
mv AccountManagement.php-x AccountManagement.php
wget http://61.220.188.84/dv-2019-tmp/AccountManagement.php
wget http://61.220.188.84/dv-2019-tmp/PasswordHash.x
https://blog.csdn.net/chengfei112233/article/details/6939144/
密码生成方式
> 随机产生一个salt 并将salt和password相加
> 进行了count次md5 然后和encode64的hash数值累加
> 最后得到一个以$P$开头的密码,这个密码每次产生的结果都不一样C:\Users\dv-10\Desktop\catalog\includes\classes\passwordhash.php
系统:MD5(WordPress)
例子:$P$B123456780BhGFYSlUqGyE6ErKErL01
说明:WordPress使用的md5
长度:34个字符
描述:$P$表示加密类型,然后跟着一位字符,经常是字符‘B’,后面是8位salt,后面是就是hash
加密算法:8192次md5循环加密 -> 2的(8+5=13)次方=8192
--- 20191107 遷移舊RO站客戶資料 -> 一元站
=========================================================================================================================
/var/www/html/magento8pm/app/design/frontend/Zou/demo/
x->joe /usr/local/apache/conf/httpd.conf
joe /etc/apache2/apache2.conf
ServerName www.buck4u.com
DocumentRoot /var/www/html/magento8pm/pub/
SetEnv MAGE_MODE "developer"
ServerName www.buck4all.com
DocumentRoot /var/www/html/magento8pm/pub/
SetEnv MAGE_MODE "developer"
SetEnv MAGE_RUN_CODE "demo3"
SetEnv MAGE_RUN_TYPE "website"
service apache2 restart
/etc/apache2/sites-enabled/mag-wg-1.conf /etc/apache2/sites-available/mag-wg-1.conf
/etc/apache2/sites-enabled/000-default.conf
/etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-available/buck4u.conf
/etc/apache2/sites-enabled/buck4u.conf
ls -al /etc/apache2/sites-enabled/
是 /etc/apache2/sites-available / buck4u.conf 這個, documentroot 對應 magento8pm/pub , 那個 setenv 才有效
在 magneto8pm 和 magneto8pm/pub 下 都各有一個 .htaccess 裡面有指定 index.php
RO站後台入口
https://www.purewaterclub.com/catalog/admin/
admin + admin1234!
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-downloadable\view\frontend\layout\downloadable_customer_products.xml
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-customer\Model\Customer\Attribute\Backend\Password.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\framework\Exception\InvalidEmailOrPasswordException.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-customer\Model\AuthenticationInterface.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-captcha\Observer\CheckUserLoginObserver.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-captcha\Test\Unit\Observer\CheckUserEditObserverTest.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-captcha\Test\Unit\Observer\CheckUserLoginObserverTest.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-customer\Controller\Account\EditPost.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-customer\Model\Authentication.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-customer\Observer\CustomerLoginSuccessObserver.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\framework\Encryption\Encryptor.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\framework\Encryption\PasswordHash.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\framework\Encryption\CheckOscPswHash.php
----------------------------------------------------------------------------------------------------------
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-theme\view\frontend\layout\default.xml
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-theme\view\frontend\page_layout\1column.xml
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-theme\view\base\page_layout\empty.xml
D:\Temp-Downloads\AWS\8pm-zip\app\design\frontend\Venustheme\8pm\Ves_Themesettings\layout\default.xml
D:\Temp-Downloads\AWS\8pm-zip\app\code\Ves\Themesettings\Block\Html\Header.php
D:\Temp-Downloads\AWS\8pm-zip\app\design\frontend\Venustheme\8pm\Ves_Themesettings\templates\header\default.phtml
D:\Temp-Downloads\AWS\8pm-zip\app\code\Ves\Themesettings\Block\Html\Links.php
D:\Temp-Downloads\AWS\8pm-zip\app\design\frontend\Venustheme\8pm\Ves_Themesettings\templates\html\links.phtml
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\framework\View\Element\Html\Links.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\framework\View\Element\Template.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\framework\View\Element\AbstractBlock.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-catalog\view\frontend\layout\default.xml
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-catalog\view\frontend\templates\product\compare\link.phtml
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-theme\Block\Html\Header.php
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-theme\view\frontend\templates\html\header.phtml
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-customer\view\frontend\layout\default.xml
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-wishlist\view\frontend\layout\default.xml
D:\Temp-Downloads\AWS\8pm-zip\vendor\magento\module-wishlist\view\frontend\templates\link.phtml
table: catalog_product_entity_text
entity_id: item id -> attribute_id, value
table: eav_attribute
attribute_id: 72 -> attribute_code: description
attribute_id: 73 -> attribute_code: short_description
attribute_id: 82 -> attribute_code: meta_keyword
Atomic Endurance Running Tee (V-neck)-S-Blue
修改footer2 背景顏色:
8pm Footer 2 -> Design Elemment -> Prefix Class -> 去掉footer2(黑變白)
修改shipping:
STORES -> Configuration -> SALES -> Shipping Methods
修改payment:
STORES -> Configuration -> SALES -> Payment Methods
修改注冊設定:
Configuration -> CUSTOMERS -> Customer Configuration -> Password Options -> Number of Required Character Classes: 3 -> 2
(20191026)
Element Builder -> 8pm categories -> Design -> (Widget) Categories Info And Subcategories -> Edit
首頁目錄element改長寬:
(Toggle Code) limit_subcategory=\"3\" limit=\"3\" columns=\"3\"
首頁目錄element改目錄類別:
(Toggle Code) catsid=\"20,11,13,3\"
/var/www/html/magento8pm/pub/media/catalog/category/cat6.jpg
----------------------- Ref -----------------------------------------------
app/code/Magento/Xxx/
vendor/magento/module-xxx/
app/design/frontend/Venustheme/8pm/
vendor/magento/theme-frontend-blank/
Base layouts:
/view/frontend/layout
/view/frontend/page_layout
Theme layouts:
/_/layout
/_/page_layout
All layouts:
/var/www/html/magento8pm/vendor/magento/module-theme/view/frontend/layouts.xml
----------------------- OK Used -----------------------------------------
/var/www/html/magento8pm/app/design/frontend/Venustheme/8pm/theme.xml
A.) Base Page configuration:
/var/www/html/magento8pm/vendor/magento/module-theme/view/frontend/layout/default.xml
A-1.) Base Page layout: -> container page-header
/var/www/html/magento8pm/vendor/magento/module-theme/view/frontend/page_layout/3columns.xml
A-2.) -> 2columns-right -> 1column -> -> container page-wrapper
/var/www/html/magento8pm/vendor/magento/module-
theme/view/base/page_layout/empty.xml
B.) Main Customer (Ves) Theme Page configuration:
/var/www/html/magento8pm/app/design/frontend/Venustheme/8pm/Ves_Themesettings/layout/default.xml
B-1.)