Ecshop 原本的會員等級積點是, 永久累積.
但是往往有很多網站的機制是, 會員等級效期是1年內累積到一定額度才能變成貴賓會員.
2014年12月2日 星期二
2014年10月15日 星期三
Ecshop 串接歐付寶電子發票.
透過歐付寶的電子發票API , 來開立電子發票.
歐付寶測試平台 http://vendor-stage.allpay.com.tw/
帳號/密碼:StageTest / test1234
串接後, 發現還蠻不錯的.
會發電子發票email 給user:
後臺串接 , 自動化產生電子發票:
前台user 介面:
歐付寶測試平台 http://vendor-stage.allpay.com.tw/
帳號/密碼:StageTest / test1234
串接後, 發現還蠻不錯的.
會發電子發票email 給user:
2013年11月27日 星期三
2013年10月1日 星期二
2013年8月15日 星期四
2013年2月20日 星期三
2012年4月25日 星期三
[Ecshop] 發生錯誤: move_uploaded_file() SAFE MODE Restriction in effect.
在虛擬主機上出現這個問題, 應該就是 php safe mode 造成的.
2012年2月1日 星期三
2012年1月1日 星期日
美安Rid 與 Ecshop 串接
美安串接Ecshop 解釋流程:
美安RID主要是從美安網站導過來的網址會帶一筆rid 編號.
若是user 註冊後, 該編號也會帶到user 的個人資料內, 往後user 下訂單,
該user 有美安Rid, 您在後台訂單列表, 也會看到美安RID.
前端步驟(1):再加入會員時,若是從帶有美安Rid,會顯示在註冊頁面. (新版已不需要)
前端步驟(2):再加入會員時,若是從帶有美安Rid,會顯示在註冊頁面.(新版已不需要)
後台步驟(1):後台可以在會員列表看到,會員具有美安Rid 的欄位.(新版已不需要)
後台步驟(2):查看會員明細時,也會看到美安Rid.
(新版已不需要)
2012-6 修正:美安更改程式
美安Rid 跟隨訂單, 並且每次Rid 都會不同.
1. 修正匿名訂單
2. 資料欄位寬度修正
3. 前後台資訊修正
後台步驟(3):具有美安Rid的會員, 訂購商品時,改筆訂單也會帶入美安Rid.
後台步驟(4):訂單明細內也有美安Rid.
2011年12月21日 星期三
透過AJAX方式動態更新 ECShop 購物車商品頁面的數量
用戶進入echsop購物流程的時候當需要更改購物車裡的商品數量的時候必須要手動點擊更新按鈕.
以下是通過AJAX方式來動態更新ECShop購物車頁面商品數量的解決辦法
一、前端頁面部分(flow.dwt)
在商品數量的input框添加對應的js函數
<INPUT onblur="changePrice(document.getElementById('goods_number_{$goods.rec_id}').value,{$goods.rec_id})" name="goods_number[{$goods.rec_id}]" id="goods_number_{$goods.rec_id}" value="{$goods.goods_number}" />
在文件最後添加一段js
<script type="text/javascript">
function changePrice(number,rec_id)
{
var attr = getSelectedAttributes(document.forms['ECS_FORMBUY']);
var qty = document.forms['ECS_FORMBUY'].elements['number'].value;
Ajax.call('flow.php', 'step=update_group_cart&rec_id=' + rec_id +'&number=' + number, changePriceResponse, 'GET', 'JSON');
}
function changePriceResponse(res)
{
if (res.error > 0)
{
document.getElementById('sysmsg_error').innerHTML = res.content;
document.all.sysmsg_error.style.display=";
}
else
{
if(document.all.sysmsg_error.style.display==")
{
document.all.sysmsg_error.style.display='none';
}
document.getElementById('subtotal_'+res.rec_id).innerHTML = res.subtotal;
document.getElementById('cart_amount').innerHTML = res.cart_amount;
}
}
</script>
二、在flow.php文件中插入對應的處理代碼:
elseif($_REQUEST['step'] == 'update_group_cart')
{
include_once('includes/cls_json.php');
$json = new JSON();
$result = array('error' => ", 'content' => ");
$rec_id = $_GET['rec_id'];
$number = $_GET['number'];
$group_buy = group_buy_info($_SESSION['extension_id'], $number);
if(!is_numeric($number))
{
$result['error'] = '1′;
$result['content'] ='請輸入合法數量';
die($json->encode($result));
}
if ($group_buy['restrict_amount'] > 0 && $number > ($group_buy['restrict_amount'] – $group_buy['valid_goods']))
{
$result['error'] = '1′;
$restrict_amount = $group_buy['restrict_amount'] – $group_buy['valid_goods'];
$result['content'] ='您最多可買'.$restrict_amount.'件';
die($json->encode($result));
}
$sql = "UPDATE " . $GLOBALS['ecs']->table('cart') . " SET goods_number = '$number' WHERE rec_id = $rec_id";
$GLOBALS['db']->query($sql);
$subtotal = $GLOBALS['db']->getONE("select goods_price * goods_number AS subtotal from ".$GLOBALS['ecs']->table('cart')." where rec_id = $rec_id");
$cart_amount = cart_amount(",$_SESSION['flow_type']);
$result['subtotal'] = price_format($subtotal, false);
$result['cart_amount'] = price_format($cart_amount, false);
$result['rec_id'] = $rec_id;
die($json->encode($result));
}
記住要先清空echsop的Cache頁面。
2011年12月12日 星期一
Ecshop Facebook 登入(login), 程式修改
Ecshop 與 Facebook 會員整合功能.
可以透過Facebook 去登入 Ecshop 的帳號.
如此一來您的購物車, 可以很方便的讓user 透過 facebook 的帳號去註冊跟登入.
大大提升了, 整個購物流程...
Facebook 登入測試網站
1. 登入FB
2. 自動註冊與登入ECshop
可以透過Facebook 去登入 Ecshop 的帳號.
如此一來您的購物車, 可以很方便的讓user 透過 facebook 的帳號去註冊跟登入.
大大提升了, 整個購物流程...
Facebook 登入測試網站
1. 登入FB
2. 自動註冊與登入ECshop
2011年11月18日 星期五
4步驟完美解決ECSHOP與JQUERY衝突的辦法
ECSHOP與JQUERY衝突的問題由來已久, 不過每個版型可能都要改
1、修改文件:/js/transport.js
在文件最後面增加下面Code:
if (Object.prototype.toJSONString){ var oldToJSONString = Object.toJSONString; Object.prototype.toJSONString = function(){ if (arguments.length > 0){ return false; }else{ return oldToJSONString.apply(this, arguments); } } }
2、修改文件:/js/compare.js
尋找Code:
this.timer = window.setInterval(this.relocation.bind(this), 50);
替換為:
this.timer = window.setInterval(this.bind(this.relocation,this), 50);
尋找Code:
lastScrollY : 0
在代碼上面一行增加代碼:
bind : function(obj1,obj2) { return function() { obj1.apply(obj2, arguments); } },
3、在以下模板文件中,找到嵌入global.js文件的代碼,刪除嵌入global.js
brand.dwt
brand_list.dwt
category.dwt
exchange_list.dwt
search.dwt
4、修改文件:/themes/temlatename/library/page_header.lbi
在頂部加入代碼:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">var $$=jQuery.noConflict();</script>
注意,以後調用JQUERY對象要用兩個美元符$$,不要用一個$,因為一個$與ECSHOP原有的函數同名有兼容問題。
開始使用JQuery吧~ 解決jquery LightBox 衝突方法 :http://www.skyleft.com/index.php/peixun/php-458.html
1、修改文件:/js/transport.js
在文件最後面增加下面Code:
if (Object.prototype.toJSONString){ var oldToJSONString = Object.toJSONString; Object.prototype.toJSONString = function(){ if (arguments.length > 0){ return false; }else{ return oldToJSONString.apply(this, arguments); } } }
2、修改文件:/js/compare.js
尋找Code:
this.timer = window.setInterval(this.relocation.bind(this), 50);
替換為:
this.timer = window.setInterval(this.bind(this.relocation,this), 50);
尋找Code:
lastScrollY : 0
在代碼上面一行增加代碼:
bind : function(obj1,obj2) { return function() { obj1.apply(obj2, arguments); } },
3、在以下模板文件中,找到嵌入global.js文件的代碼,刪除嵌入global.js
brand.dwt
brand_list.dwt
category.dwt
exchange_list.dwt
search.dwt
4、修改文件:/themes/temlatename/library/page_header.lbi
在頂部加入代碼:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">var $$=jQuery.noConflict();</script>
注意,以後調用JQUERY對象要用兩個美元符$$,不要用一個$,因為一個$與ECSHOP原有的函數同名有兼容問題。
開始使用JQuery吧~ 解決jquery LightBox 衝突方法 :http://www.skyleft.com/index.php/peixun/php-458.html
2011年10月5日 星期三
Ecshop 防盜連
一.網站防盜連
首先,防盜連只防君子不防小人,所以認真說還是有辦法被破解
在 Apache 中可以用 .htaccess 來做一些簡單的安全性、認證相關的設定。
開啟 httpd.conf 後,將下面這行修改一下,再新啟動 Apache
AllowOverride None 改成 AllowOverride All
防盜連常見方法一
轉自PCZONE
那麼請在.htaccess檔案加入下面
(以下這樣設定代表:除了自己網站以及PCZONE網站,其他網站仍無法盜連你站內的資料)
SetEnvIfNoCase Referer "^http://www\.pczone\.com\.tw/" local_ref=1
SetEnvIfNoCase Referer "^http://pczone\.com\.tw/" local_ref=1
SetEnvIfNoCase Referer "^http://自己網站/" local_ref=1
SetEnvIfNoCase Referer "^http://www\.google\.com/" local_ref=1
SetEnvIfNoCase Referer "^http://google\.com/" local_ref=1
<FilesMatch "\.(txt|doc|gif|jpg|mp3)">
Order Allow,Deny
Allow from env=local_ref
Allow from google.com
Allow from 127.0.0.1
Allow from 202.43.85.163 <-這個IP,是PCZONE網站的固定IP
</FilesMatch>
另一改 httpd.conf 方法
<Directory "C:/Apache2/htdocs/XXXXX">
SetEnvIfNoCase Referer "^http://www\.yahoo\.com\.tw" local_ref=1
<FilesMatch "\.(gif|jpg|wmv|wma|swf|rm|rmvb|mp3|mid|exe|zip)">
Order Allow,Deny
Allow from env=local_ref
Allow from 127.0.0.1
Allow from www.yahoo.com
Allow from www.yahoo.com.tw
</FilesMatch>
</Directory>
讓 kuso.in/kuso/x.php 限制連 這個 php 不能直接連結.除了自己網站和yahoo
用 Location 來指出該檔案url 位置
<Location /kuso/x.php>
order allow,deny
Allow from 127.0.0.1
Allow from www.yahoo.com
Allow from www.yahoo.com.tw
......
</Location>
同理.封鎖特定的IP做這些設定
<FilesMatch "\.x">
order deny,allow
allow from all
deny from 192.168.1
deny from 192.168.2.1
</FilesMatch>
註
.htaccess 放的位置也會有差別,.htaccess 的作用範圍,只有放置該檔的目錄,以及其下的子目錄才會有作用。是目錄不是網址喔。如果其它的目錄已經有另外設定過權限的話,要檢查一下權限有沒有衝突。
下面是白話文-linux下 參考範例 轉自更改前 這個是帶 rewrite 的
<VirtualHost *:80>
DocumentRoot /home/www
ServerName www.yourdomin.com
<IfModule>
RewriteEngine On
RewriteRule ^/supesite/([0-9]+)/spacelist(.*)$ /supesite/index.php?$1/action_spacelist$2
RewriteRule ^/supesite/([0-9]+)/viewspace_(.+)$ /supesite/index.php?$1/action_viewspace_itemid_$2
RewriteRule ^/supesite/([0-9]+)/viewbbs_(.+)$ /supesite/index.php?$1/action_viewbbs_tid_$2
RewriteRule ^/supesite/([0-9]+)/(.*)$ /supesite/index.php?$1/$2
RewriteRule ^/supesite/([0-9]+)$ /supesite/index.php?$1
RewriteRule ^/supesite/action_(.+)$ /supesite/index.php?action_$1
RewriteRule ^/supesite/category_(.+)$ /supesite/index.php?action_category_catid_$1
RewriteRule ^/supesite/itemlist_(.+)$ /supesite/index.php?action_itemlist_catid_$1
RewriteRule ^/supesite/viewnews_(.+)$ /supesite/index.php?action_viewnews_itemid_$1
RewriteRule ^/supesite/viewthread_(.+)$ /supesite/index.php?action_viewthread_tid_$1
RewriteRule ^/supesite/index([\.a-zA-Z0-9]*)$ /supesite/index.php
</IfModule>
</VirtualHost>
改完後
<VirtualHost *:80>
DocumentRoot /home/www
ServerName www.yourdomin.com
SetEnvIfNoCase Referer "^http://www.yourdomin.com" local_ref=1
SetEnvIfNoCase Referer "^http://yourdomin.com" local_ref=1
<FilesMatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule
^/supesite/([0-9]+)/spacelist(.*)$
/supesite/index.php?$1/action_spacelist$2
RewriteRule ^/supesite/([0-9]+)/viewspace_(.+)$ /supesite/index.php?$1/action_viewspace_itemid_$2
RewriteRule ^/supesite/([0-9]+)/viewbbs_(.+)$ /supesite/index.php?$1/action_viewbbs_tid_$2
RewriteRule ^/supesite/([0-9]+)/(.*)$ /supesite/index.php?$1/$2
RewriteRule ^/supesite/([0-9]+)$ /supesite/index.php?$1
RewriteRule ^/supesite/action_(.+)$ /supesite/index.php?action_$1
RewriteRule ^/supesite/category_(.+)$ /supesite/index.php?action_category_catid_$1
RewriteRule ^/supesite/itemlist_(.+)$ /supesite/index.php?action_itemlist_catid_$1
RewriteRule ^/supesite/viewnews_(.+)$ /supesite/index.php?action_viewnews_itemid_$1
RewriteRule ^/supesite/viewthread_(.+)$ /supesite/index.php?action_viewthread_tid_$1
RewriteRule ^/supesite/index([\.a-zA-Z0-9]*)$ /supesite/index.php
</IfModule>
</VirtualHost>
防盜連常見方法補充 ~另一種防盜方法
這種我還沒試過.有試過的請發表一下
租空間的用戶,透過Apache的.htaccess來設置防盜連功能(anti hotlink),是最方便的
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://yblog.org/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://yblog.org$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.yblog.org/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.yblog.org$ [NC]
RewriteRule .*\.(jpg|gif|png|bmp|rar|zip|exe)$ /content/no_hotlink.jpeg [R,NC]
如果你想在自己的網站主機上也使用這樣的防盜連功能,生成一個.htaccess文件放到你欲限制的目錄(根目錄最好避免,在根目錄使用的. htaccess建議用作其它用途,欲限制的目錄下才放本文設定的防盜連方式)。在Windows平台上如果發現自己無法產生.htaccess文件,可 以用記事本或其它的文字編輯軟體,另存新檔時,檔名選擇.htaccess即可
RewriteCond可指定從哪些域名來連線是許可的
RewriteRule則指定哪些附檔名類型不能被盜連(hotlink),後面可指定連結到某個錯誤訊息頁面,或是一張圖片。
如果RewriteRule這一行設定成RewriteRule \.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ - [F],則表示盜連的人,會看到403錯誤訊息,顯示禁止存取(403 Forbidden)。
防盜連的PHP代碼[轉自163.com]
$ADMIN[defaulturl] = "http://www.163.com/404.htm";//盜鏈返回的地址
$okaysites = array("http://www.163.com/","http://163.com"); //白名單
$ADMIN[url_1] = "http://www.163.com/download/";//下載地點1
$ADMIN[url_2] = "";//下載地點2,以此類推
$reffer = $HTTP_REFERER;
if($reffer) {
$yes = 0;
while(list($domain, $subarray) = each($okaysites)) {
if (ereg($subarray,"$reffer")) {
$yes = 1;
}
}
$theu = "url"."_"."$site";
if ($ADMIN[$theu] AND $yes == 1) {
header("Location: $ADMIN[$theu]/$file");
} else {
header("Location: $ADMIN[defaulturl]");
}
} else {
header("Location: $ADMIN[defaulturl]");
}
?>
使用方法:將上述代碼保存為dao4.php,
比如測試用的validatecode.rar在站點http://163.com/download裡面,
則用以下代碼表示下載連接.
文件名?site=1&file=文件
EXP:http://www.cndw.com/dao4.php?site=1&;file=validatecode.rar
防框架嵌入方法和源代碼 轉自
-->唯一的缺點是對禁用Javascript的瀏覽器無效,不管怎麼樣這是我看到的最好的解決辦法,在這裡強烈推薦
<script type="text/javascript"><!--
if ( top.location !== self.location ) {
top.location=self.location;
}
//--></script>
二.駭客攻擊(iframe)
先引用資安論壇網友:
這是我的網站,因為會員反應說有木馬程式,可是我和主機商一直找不出來,想請各位幫忙
會員幫我偵出來是Troian horse病毒。
昨天有會員反應被人植入木馬程式,檢看原始碼發現多了下面代碼
<iframe src="
http://www.photosh.idv.tw/admin/board/_vti_cnf/index.htm" width="0" height="0" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
找了一些index.htm和index.php不過都找不到這段原始碼,請問它應該是放在哪裡呢?
and再多問一個,會員向我反應後我一邊找網站檔案還是仍然找不到,一邊掃我電腦的毒不過我用了兩三個掃木馬的程式還是都掃不出來?我的網站目前被惡意放 進的程式(如上面的代碼)還沒移除,我還是一直在我的網站上東看西看,不知是程式掃不出來還是沒有中毒?請問這種情形上去的話一定會中毒嗎?因為我也沒有 安裝任何防毒軟體,只有掃毒軟體。
我剛剛下載了一個檢測伺服器木馬及惡意程式的safe程式,放在網站上執行,它說99%可以找出惡意程式,但我使用後還是都說正常....這種情形該怎麼辦呢?主機商叫我從資料庫搜尋相關字眼但也找不到~麻煩高手幫忙一下~~QQ"
請您先把資料庫的所以密碼用英數亂碼加大小寫編碼...把密碼先改過一次...然後去看是那一個論壇..使用的是那一個資料庫...搜尋 .....就會找到你說的那些資料了..看到多少全都砍了...
通常不會只發生在你現在這個資料庫而已...還會在你主機的另外的資料庫上...
只要你的網站夠熱門...就有人會想破你的資料庫植入以上的內崁式木馬...只要到你的論壇後...他會自動連結到別的網站..就中標了.....我有幫一位朋友開一個論壇...他的密碼太過簡單而被破後...接著就所有的資料庫都被植入類似的木碼網站..
<iframe是html的內置框架,也就是會讀對方的程式進來,不過他的高跟寬都設為0所以看不見,我也遇到,除了寫html檔之外可能會寫入flash檔,感染html或是asp相關網頁的檔案..
首先,防盜連只防君子不防小人,所以認真說還是有辦法被破解
在 Apache 中可以用 .htaccess 來做一些簡單的安全性、認證相關的設定。
開啟 httpd.conf 後,將下面這行修改一下,再新啟動 Apache
AllowOverride None 改成 AllowOverride All
防盜連常見方法一
轉自PCZONE
那麼請在.htaccess檔案加入下面
(以下這樣設定代表:除了自己網站以及PCZONE網站,其他網站仍無法盜連你站內的資料)
SetEnvIfNoCase Referer "^http://www\.pczone\.com\.tw/" local_ref=1
SetEnvIfNoCase Referer "^http://pczone\.com\.tw/" local_ref=1
SetEnvIfNoCase Referer "^http://自己網站/" local_ref=1
SetEnvIfNoCase Referer "^http://www\.google\.com/" local_ref=1
SetEnvIfNoCase Referer "^http://google\.com/" local_ref=1
<FilesMatch "\.(txt|doc|gif|jpg|mp3)">
Order Allow,Deny
Allow from env=local_ref
Allow from google.com
Allow from 127.0.0.1
Allow from 202.43.85.163 <-這個IP,是PCZONE網站的固定IP
</FilesMatch>
另一改 httpd.conf 方法
<Directory "C:/Apache2/htdocs/XXXXX">
SetEnvIfNoCase Referer "^http://www\.yahoo\.com\.tw" local_ref=1
<FilesMatch "\.(gif|jpg|wmv|wma|swf|rm|rmvb|mp3|mid|exe|zip)">
Order Allow,Deny
Allow from env=local_ref
Allow from 127.0.0.1
Allow from www.yahoo.com
Allow from www.yahoo.com.tw
</FilesMatch>
</Directory>
讓 kuso.in/kuso/x.php 限制連 這個 php 不能直接連結.除了自己網站和yahoo
用 Location 來指出該檔案url 位置
<Location /kuso/x.php>
order allow,deny
Allow from 127.0.0.1
Allow from www.yahoo.com
Allow from www.yahoo.com.tw
......
</Location>
同理.封鎖特定的IP做這些設定
<FilesMatch "\.x">
order deny,allow
allow from all
deny from 192.168.1
deny from 192.168.2.1
</FilesMatch>
註
.htaccess 放的位置也會有差別,.htaccess 的作用範圍,只有放置該檔的目錄,以及其下的子目錄才會有作用。是目錄不是網址喔。如果其它的目錄已經有另外設定過權限的話,要檢查一下權限有沒有衝突。
下面是白話文-linux下 參考範例 轉自更改前 這個是帶 rewrite 的
DocumentRoot /home/www
ServerName www.yourdomin.com
RewriteEngine On
RewriteRule ^/supesite/([0-9]+)/spacelist(.*)$ /supesite/index.php?$1/action_spacelist$2
RewriteRule ^/supesite/([0-9]+)/viewspace_(.+)$ /supesite/index.php?$1/action_viewspace_itemid_$2
RewriteRule ^/supesite/([0-9]+)/viewbbs_(.+)$ /supesite/index.php?$1/action_viewbbs_tid_$2
RewriteRule ^/supesite/([0-9]+)/(.*)$ /supesite/index.php?$1/$2
RewriteRule ^/supesite/([0-9]+)$ /supesite/index.php?$1
RewriteRule ^/supesite/action_(.+)$ /supesite/index.php?action_$1
RewriteRule ^/supesite/category_(.+)$ /supesite/index.php?action_category_catid_$1
RewriteRule ^/supesite/itemlist_(.+)$ /supesite/index.php?action_itemlist_catid_$1
RewriteRule ^/supesite/viewnews_(.+)$ /supesite/index.php?action_viewnews_itemid_$1
RewriteRule ^/supesite/viewthread_(.+)$ /supesite/index.php?action_viewthread_tid_$1
RewriteRule ^/supesite/index([\.a-zA-Z0-9]*)$ /supesite/index.php
</IfModule>
</VirtualHost>
改完後
ServerName www.yourdomin.com
SetEnvIfNoCase Referer "^http://www.yourdomin.com" local_ref=1
SetEnvIfNoCase Referer "^http://yourdomin.com" local_ref=1
<FilesMatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/supesite/([0-9]+)/viewspace_(.+)$ /supesite/index.php?$1/action_viewspace_itemid_$2
RewriteRule ^/supesite/([0-9]+)/viewbbs_(.+)$ /supesite/index.php?$1/action_viewbbs_tid_$2
RewriteRule ^/supesite/([0-9]+)/(.*)$ /supesite/index.php?$1/$2
RewriteRule ^/supesite/([0-9]+)$ /supesite/index.php?$1
RewriteRule ^/supesite/action_(.+)$ /supesite/index.php?action_$1
RewriteRule ^/supesite/category_(.+)$ /supesite/index.php?action_category_catid_$1
RewriteRule ^/supesite/itemlist_(.+)$ /supesite/index.php?action_itemlist_catid_$1
RewriteRule ^/supesite/viewnews_(.+)$ /supesite/index.php?action_viewnews_itemid_$1
RewriteRule ^/supesite/viewthread_(.+)$ /supesite/index.php?action_viewthread_tid_$1
RewriteRule ^/supesite/index([\.a-zA-Z0-9]*)$ /supesite/index.php
</IfModule>
</VirtualHost>
防盜連常見方法補充 ~另一種防盜方法
這種我還沒試過.有試過的請發表一下
租空間的用戶,透過Apache的.htaccess來設置防盜連功能(anti hotlink),是最方便的
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://yblog.org/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://yblog.org$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.yblog.org/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.yblog.org$ [NC]
RewriteRule .*\.(jpg|gif|png|bmp|rar|zip|exe)$ /content/no_hotlink.jpeg [R,NC]
如果你想在自己的網站主機上也使用這樣的防盜連功能,生成一個.htaccess文件放到你欲限制的目錄(根目錄最好避免,在根目錄使用的. htaccess建議用作其它用途,欲限制的目錄下才放本文設定的防盜連方式)。在Windows平台上如果發現自己無法產生.htaccess文件,可 以用記事本或其它的文字編輯軟體,另存新檔時,檔名選擇.htaccess即可
RewriteCond可指定從哪些域名來連線是許可的
RewriteRule則指定哪些附檔名類型不能被盜連(hotlink),後面可指定連結到某個錯誤訊息頁面,或是一張圖片。
如果RewriteRule這一行設定成RewriteRule \.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ - [F],則表示盜連的人,會看到403錯誤訊息,顯示禁止存取(403 Forbidden)。
防盜連的PHP代碼[轉自163.com]
$ADMIN[defaulturl] = "http://www.163.com/404.htm";//盜鏈返回的地址
$okaysites = array("http://www.163.com/","http://163.com"); //白名單
$ADMIN[url_1] = "http://www.163.com/download/";//下載地點1
$ADMIN[url_2] = "";//下載地點2,以此類推
$reffer = $HTTP_REFERER;
if($reffer) {
$yes = 0;
while(list($domain, $subarray) = each($okaysites)) {
if (ereg($subarray,"$reffer")) {
$yes = 1;
}
}
$theu = "url"."_"."$site";
if ($ADMIN[$theu] AND $yes == 1) {
header("Location: $ADMIN[$theu]/$file");
} else {
header("Location: $ADMIN[defaulturl]");
}
} else {
header("Location: $ADMIN[defaulturl]");
}
?>
使用方法:將上述代碼保存為dao4.php,
比如測試用的validatecode.rar在站點http://163.com/download裡面,
則用以下代碼表示下載連接.
文件名?site=1&file=文件
EXP:http://www.cndw.com/dao4.php?site=1&;file=validatecode.rar
防框架嵌入方法和源代碼 轉自
-->唯一的缺點是對禁用Javascript的瀏覽器無效,不管怎麼樣這是我看到的最好的解決辦法,在這裡強烈推薦
<script type="text/javascript"><!--
if ( top.location !== self.location ) {
top.location=self.location;
}
//--></script>
二.駭客攻擊(iframe)
先引用資安論壇網友:
這是我的網站,因為會員反應說有木馬程式,可是我和主機商一直找不出來,想請各位幫忙
會員幫我偵出來是Troian horse病毒。
昨天有會員反應被人植入木馬程式,檢看原始碼發現多了下面代碼
<iframe src="
http://www.photosh.idv.tw/admin/board/_vti_cnf/index.htm" width="0" height="0" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
找了一些index.htm和index.php不過都找不到這段原始碼,請問它應該是放在哪裡呢?
and再多問一個,會員向我反應後我一邊找網站檔案還是仍然找不到,一邊掃我電腦的毒不過我用了兩三個掃木馬的程式還是都掃不出來?我的網站目前被惡意放 進的程式(如上面的代碼)還沒移除,我還是一直在我的網站上東看西看,不知是程式掃不出來還是沒有中毒?請問這種情形上去的話一定會中毒嗎?因為我也沒有 安裝任何防毒軟體,只有掃毒軟體。
我剛剛下載了一個檢測伺服器木馬及惡意程式的safe程式,放在網站上執行,它說99%可以找出惡意程式,但我使用後還是都說正常....這種情形該怎麼辦呢?主機商叫我從資料庫搜尋相關字眼但也找不到~麻煩高手幫忙一下~~QQ"
請您先把資料庫的所以密碼用英數亂碼加大小寫編碼...把密碼先改過一次...然後去看是那一個論壇..使用的是那一個資料庫...搜尋 .....就會找到你說的那些資料了..看到多少全都砍了...
通常不會只發生在你現在這個資料庫而已...還會在你主機的另外的資料庫上...
只要你的網站夠熱門...就有人會想破你的資料庫植入以上的內崁式木馬...只要到你的論壇後...他會自動連結到別的網站..就中標了.....我有幫一位朋友開一個論壇...他的密碼太過簡單而被破後...接著就所有的資料庫都被植入類似的木碼網站..
<iframe是html的內置框架,也就是會讀對方的程式進來,不過他的高跟寬都設為0所以看不見,我也遇到,除了寫html檔之外可能會寫入flash檔,感染html或是asp相關網頁的檔案..
2011年10月4日 星期二
[ECSHOP] Remove Powered By Ecshop
找到下列目錄的檔案
includes/lib_main.php 大約143行找到:
去掉footer的方法:
第一步:刪除整個 js\common.js 在261行上的 onload = function() 函數 具體的是從:261 至 353 行(適用於2.7.2,其他版本類似)
第二步:去掉 themes\你選擇的模板\library\page_footer.lbi 中的輸出代碼;
==============去掉以下代碼即可==============
{foreach from=$lang.p_y item=pv}{$pv}{/foreach} <br>
$page_title = $GLOBALS['_CFG']['shop_title'] . ' - ' . 'Powered by ECShop';
改成 :
$page_title = $GLOBALS['_CFG']['shop_title'] ;
去掉footer的方法:
第一步:刪除整個 js\common.js 在261行上的 onload = function() 函數 具體的是從:261 至 353 行(適用於2.7.2,其他版本類似)
第二步:去掉 themes\你選擇的模板\library\page_footer.lbi 中的輸出代碼;
==============去掉以下代碼即可==============
{foreach from=$lang.p_y item=pv}{$pv}{/foreach} <br>
2011年9月23日 星期五
[Ecshop 修改] [原創]完美改造 Ecshop 銀行匯款,匯款通知跟後台管理匯款頁面
Ecshop 最為人詬病的就是 user 訂購後, 沒有很正式的填寫匯款資料的頁面.
所以做了以下的修改與調整, 應該會比較好, 倒是花了不少功夫修改資料庫與頁面:1.會員的訂單頁面內:
2.User匯款頁面:
3.後台匯款管理頁面:
2011年8月19日 星期五
[Ecshop 修改] [自創]Ecshop 超商取貨模組 2.7.2
環境:
ECSHOP 2.7.2 版 (繁中版)
修改流程:
ECSHOP 2.7.2 版 (繁中版)
修改流程:
1. 後台:新增一個超商配送模組.
2. 前台顯示超商取貨. 並且若是點選超商取貨,就會出現超商店名與店號輸入欄位。(圖1)
3. 若是user 點選超商取貨,但未填寫超商店名與店號,就會無法送出訂單,並且出現 "提醒"。
4. 後台: 訂單列表->訂單信息 可以看到超商取貨的店名與店號.(圖2)
2. 前台顯示超商取貨. 並且若是點選超商取貨,就會出現超商店名與店號輸入欄位。(圖1)
3. 若是user 點選超商取貨,但未填寫超商店名與店號,就會無法送出訂單,並且出現 "提醒"。
4. 後台: 訂單列表->訂單信息 可以看到超商取貨的店名與店號.(圖2)
這次修改部分,不單單只是增加配送模組就可以了,還需要新增資料庫欄位,修改模板跟 js 部分的判斷與警示.
前台配送方式顯示: (圖1)
後台訂單顯示: (圖2)
2010年8月18日 星期三
ecshop 結構圖及各文件功能介紹, DB基本操作
ecshop 結構圖及各文件功能介紹
ECShop upload 的目錄├ activity.php 活動列表
├ affiche.php 廣告處理文件
├ affiliate.php 生成商品列表
├ article.php 文章內容
├ article_cat.php文章分類
├ auction.php 拍賣前台文件
├ brand.php 品牌列表
├ captcha.php 生成驗證碼
├ catalog.php 列出所以分類及品牌
├ category.php 商品分類
├ comment.php 提交用戶評論
├ compare.php 商品比較程序
├ cycle_image.php 輪播圖片程序
├ feed.php RSS Feed 生成程序
├ flow.php 購物流程
├ gallery.php 商品相冊
├ goods.php 商品詳情
├ goods_script.php 生成商品列表
├ group_buy.php 團購商品前台文件
├ index.php 首頁文件
├ myship.php 支付配送DEMO
├ pick_out.php 選購中心
├ receive.php 處理收回確認的頁面
├ region.php 地區切換程序
├ respond.php 支付響應頁面
├ robots.txt
├ search.php 搜索程序
├ sitemaps.php google sitemap 文件
├ snatch.php 奪寶奇兵前台頁面
├ tag_cloud.php 標籤雲
├ topic.php 專題前台
├ user.php 會員中心
├ vote.php 調查程序
├ wholesale.php 批發前台文件
├ admin文件夾
│ ├ account_log.php 管理中心帳戶變動記錄
│ ├ admin_logs.php 記錄管理員操作日誌
│ ├ ads.php 廣告管理程序
│ ├ adsense.php 站外JS投放的統計程序
│ ├ ad_position.php廣告位置管理程序
│ ├ affiliate.php 程序說明
│ ├ affiliate_ck.php 程序說明
│ ├ agency.php 管理中心辦事處管理
│ ├ area_manage.php 地區列表管理文件
│ ├ article.php 管理中心文章處理程序文件
│ ├ articlecat.php 文章分類管理程序
│ ├ article_auto.php
│ ├ attention_list.php
│ ├ attribute.php 屬性規格管理
│ ├ auction.php 管理中心拍賣活動管理
│ ├ bonus.php 紅包類型的處理
│ ├ brand.php管理中心品牌管理
│ ├ captcha_manage.php
│ ├ card.php 賀卡管理程序
│ ├ category.php 商品分類管理程序
│ ├ check_file_priv.php 系統文件檢測
│ ├ comment_manage.php 用戶評論管理程序
│ ├ convert.php 轉換程序
│ ├ cron.php 計劃任務
│ ├ database.php 數據庫管理
│ ├ ebao_commend.php 易寶推薦
│ ├ edit_languages.php 管理中心語言項編輯(前台語言項)
│ ├ email_list.php 郵件列表管理
│ ├ favourable.php 管理中心優惠活動管理
│ ├ flashplay.php
│ ├ flow_stats.php 綜合流量統計
│ ├ friend_link.php 友情鏈接管理
│ ├ gen_goods_script.php 生成顯示商品的js代碼
│ ├ get_password.php 找回管理員密碼
│ ├ goods.php 商品管理程序
│ ├ goods_auto.php
│ ├ goods_batch.php 商品批量上傳、修改
│ ├ goods_booking.php 缺貨處理管理程序
│ ├ goods_export.php
│ ├ goods_type.php 商品類型管理程序
│ ├ group_buy.php 管理中心團購商品管理
│ ├ guest_stats.php 客戶統計
│ ├ index.php 控制台首頁
│ ├ integrate.php 第三方程序會員數據整合插件管理程序
│ ├ magazine_list.php
│ ├ mail_template.php 管理中心模版管理程序
│ ├ message.php 管理中心管理員留言程序
│ ├ navigator.php
│ ├ order.php 訂單管理
│ ├ order_stats.php 訂單統計
│ ├ pack.php 包裝管理程序
│ ├ payment.php 支付方式管理程序
│ ├ picture_batch.php 圖片批量處理程序
│ ├ privilege.php 管理員信息以及權限管理程序
│ ├ sale_general.php 銷售概況
│ ├ sale_list.php 銷售明細列表程序
│ ├ sale_order.php 商品銷售排行
│ ├ searchengine_stats.php 搜索引擎關鍵字統計
│ ├ search_log.php
│ ├ shipping.php 配送方式管理程序
│ ├ shipping_area.php 配送區域管理程序
│ ├ shophelp.php 幫助信息管理程序
│ ├ shopinfo.php 網店信息管理頁面
│ ├ shop_config.php 管理中心商店設置
│ ├ sitemap.php 站點地圖生成程序
│ ├ sms.php 短信模塊 之 控制器
│ ├ snatch.php 奪寶奇兵管理程序
│ ├ sql.php sql管理程序
│ ├ tag_manage.php 後台標籤管理
│ ├ template.php 管理中心模版管理程序
│ ├ topic.php 專題管理
│ ├ users.php 會員管理程序
│ ├ users_order.php 會員排行統計程序
│ ├ user_account.php 會員帳目管理(包括預付款,餘額)
│ ├ user_msg.php 客戶留言
│ ├ user_rank.php 會員等級管理程序
│ ├ view_sendlist.php
│ ├ virtual_card.php 虛擬卡商品管理程序
│ ├ visit_sold.php 訪問購買比例
│ ├ vote.php 調查管理程序
│ ├ wholesale.php 管理中心批發管理
│ ├ help 的目錄 後台操作幫助文件
│ ├ images 的目錄
│ ├ includes 的目錄
│ │ ├ cls_exchange.php 後台自動操作數據庫的類文件
│ │ ├ cls_google_sitemap.php Google sitemap 類
│ │ ├ cls_phpzip.php ZIP 處理類
│ │ ├ cls_sql_dump.php 數據庫導出類
│ │ ├ inc_menu.php 管理中心菜單數組
│ │ ├ init.php 管理中心公用文件
│ │ ├ lib_goods.php 管理中心商品相關函數
│ │ ├ lib_main.php 管理中心公用函數庫
│ │ └ lib_template.php 管理中心模版相關公用函數庫
│ ├ styles 的目錄
│ ├ templates 的目錄
│ └ js 的目錄
│ ├ colorselector.js
│ ├ common.js
│ ├ listtable.js
│ ├ md5.js
│ ├ selectzone.js
│ ├ tab.js
│ ├ todolist.js
│ ├ topbar.js
│ └ validator.js 表單驗證類
├ api 的目錄
│ ├ checkorder.php 檢查訂單 API
│ ├ cron.php
│ └ init.php API 公用初始化文件
├ cert 的目錄
├ data 的目錄
│ ├ ffiliate.html
│ ├ goods_script.html
│ ├ order_print.html
│ ├ afficheimg 的目錄
│ ├ brandlogo 的目錄
│ ├ captcha 的目錄 驗證碼背景圖片存放位置
│ ├ cardimg 的目錄
│ ├ feedbackimg 的目錄
│ ├ images 的目錄
│ ├ packimg 的目錄
│ └ sqldata 的目錄
├ images 的目錄
│ └ upload 的目錄
│ ├ File 文件上傳存放處
│ ├ Flash flash上傳存放處
│ ├ Image 圖片上傳存放處
│ └ Media 視頻上傳存放處
├ includes 的目錄
│ ├ cls_captcha.php 驗證碼圖片類
│ ├ cls_ecshop.php 基礎類
│ ├ cls_error.php 用戶級錯誤處理類
│ ├ cls_iconv.php 字符集轉換類
│ ├ cls_image.php 後台對上傳文件的處理類(實現圖片上傳,圖片縮小, 增加水印)
│ ├ cls_json.php JSON 類
│ ├ cls_mysql.php MYSQL 公用類庫
│ ├ cls_rss.php RSS 類
│ ├ cls_session.php SESSION 公用類庫
│ ├ cls_sms.php 短信模塊 之 模型(類庫)
│ ├ cls_smtp.php SMTP 郵件類
│ ├ cls_sql_executor.php SQL語句執行類。
│ ├ cls_template.php 模版類
│ ├ cls_transport.php 服務器之間數據傳輸器
│ ├ inc_constant.php 常量
│ ├ init.php 前台公用文件
│ ├ lib.debug.php
│ ├ lib_article.php 文章及文章分類相關函數庫
│ ├ lib_clips.php ECSHOP 用戶相關函數庫
│ ├ lib_code.php 加密解密類
│ ├ lib_common.php 公用函數庫
│ ├ lib_goods.php 商品相關函數庫
│ ├ lib_insert.php 動態內容函數庫
│ ├ lib_main.php 前台公用函數庫
│ ├ lib_order.php 購物流程函數庫
│ ├ lib_passport.php 用戶帳號相關函數庫
│ ├ lib_payment.php 支付接口函數庫
│ ├ lib_time.php 時間函數
│ ├ lib_transaction.php ECSHOP 用戶交易相關函數庫
│ ├ codetable 的目錄
│ │ ├ big5-gb.table
│ │ ├ big5_utf8.php
│ │ ├ gb-big5.table
│ │ ├ gb_utf8.php
│ │ └ ipdata.dat
│ ├ fckeditor 的目錄 fckeditor編輯器目錄
│ └ modules 的目錄
│ ├ convert 的目錄
│ │ ├ shopex46.php vshopex4.6轉換程序插件
│ │ └ shopex47.php shopex4.7轉換程序插件
│ ├ cron 的目錄
│ │ ├ auto_manage.php 自動上下架管理
│ │ └ ipdel.php 定期刪除
│ ├ integrates 的目錄
│ │ ├ bmforum.php 會員數據處理類
│ │ ├ discuz.php
│ │ ├ discuz55.php
│ │ ├ dvbbs.php
│ │ ├ ecshop.php
│ │ ├ integrate.php
│ │ ├ ipb.php
│ │ ├ molyx.php
│ │ ├ phpbb.php
│ │ ├ phpwind.php
│ │ ├ phpwind5.php
│ │ └ vbb.php
│ ├ payment 的目錄
│ │ ├ alipay.php 支付寶插件
│ │ ├ balance.php 餘額支付插件
│ │ ├ bank.php 銀行匯款(轉帳)插件
│ │ ├ cappay.php 首信易支付插件
│ │ ├ chinabank.php 網銀在線插件
│ │ ├ cncard.php 雲網支付插件
│ │ ├ cod.php 貨到付款插件
│ │ ├ ctopay.php Ctopay 支付插件
│ │ ├ express.php express支付系統插件
│ │ ├ ips.php ips支付系統插件
│ │ ├ kuaiqian.php 快錢插件
│ │ ├ nps.php NPS支付插件
│ │ ├ pay800.php 800pay 支付寶插件
│ │ ├ paypal.php 貝寶插件
│ │ ├ paypalcn.php 貝寶中國插件
│ │ ├ post.php 郵局匯款插件
│ │ ├ tenpay.php 財付通插件
│ │ ├ udpay.php 網匯通插件
│ │ ├ xpay.php 易付通插件
│ │ └ yeepay.php YeePay易寶插件
│ └ shipping 的目錄
│ ├ cac.php 上門取貨插件
│ ├ city_express.php 城際快遞插件
│ ├ ems.php EMS插件
│ ├ flat.php 郵政包裹插件
│ ├ fpd.php 到付運費插件
│ ├ post_express.php 郵政包裹插件
│ ├ post_mail.php 郵局平郵插件
│ ├ presswork.php 掛號印刷品插件
│ ├ sf_express.php 順豐速運 配送方式插件
│ ├ sto_express.php 申通快遞 配送方式插件
│ ├ yto.php 圓通速遞插件
│ └ zto.php 中通速遞插件
├ install 的目錄 安裝文件目錄
├ js 的目錄
│ ├ auto_complete.js
│ ├ calendar.php
│ ├ common.js
│ ├ compare.js
│ ├ global.js
│ ├ lefttime.js
│ ├ myship.js
│ ├ region.js
│ ├ shopping_flow.js
│ ├ transport.js
│ ├ user.js
│ ├ utils.js
│ └ calendar 的目錄
├ languages 的目錄 語言風格文件
│ ├ zh_cn 的目錄
│ │ ├
│ │ ├ admin 的目錄
│ │ ├ convert 的目錄
│ │ ├ cron 的目錄
│ │ ├ payment 的目錄
│ │ └ shipping 的目錄
│ └ zh_tw 的目錄
│ ├ admin 的目錄
│ ├ convert 的目錄
│ ├ cron 的目錄
│ ├ payment 的目錄
│ └ shipping 的目錄
├ plugins 的目錄
├ templates 的目錄
│ ├ backup 的目錄
│ │ └ ibrary 的目錄
│ ├ caches 的目錄
│ └ compiled 的目錄
│ └ admin 的目錄
├ themes 的目錄
│ ├ default 的目錄
│ │ ├ images 的目錄
│ │ └ library 的目錄
│ └ sport 的目錄
├ wap 的目錄
│ ├ article.php
│ ├ brands.php
│ ├ buy.php
│ ├ category.php
│ ├ comment.php
│ ├ goods.php
│ ├ goods_list.php
│ ├ index.php
│ ├ user.php
│ ├ includes 的目錄
│ │ ├ init.php
│ │ ├ lib_main.php
│ └ templates 的目錄
│ ├ article.wml
│ ├ article_list.wml
│ ├ brands.wml
│ ├ buy.wml
│ ├ category.wml
│ ├ comment.wml
│ ├ goods.wml
│ ├ goods_img.wml
│ ├ goods_list.wml
│ ├ index.wml
│ ├ login.wml
│ ├ order_list.wml
│ └ user.wml
└ widget 的目錄
├ blog_sohu.php
├ blog_sohu.xhtml
資料庫操作:
1.獲取單筆記錄
$GLOBALS['db']->getRow($sql);
2.獲取單一欄位
$GLOBALS['db']->getOne($sql);
例如查詢產品總數:
echo $GLOBALS['db']->getOne('SELECT COUNT(*) FROM ' . $GLOBALS['ecs']->table('goods') ;
3.獲取所有記錄
$GLOBALS['db']->getAll($sql);
4.執行sql語句
$GLOBALS['db']->query($sql);
//執行刪除(DELETE),插入(INSERT),更新(UPDATE)等操作可用此方法
5.把數組元素新增資料庫
$parent['goods_number'] = '1′;
$parent['parent_id'] = 0;
$GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('cart'), $parent, 'INSERT');
訂閱:
文章 (Atom)
















