本人自行測試時並未發現有方法可經訪客而付費購買文章,不知道它們是用什麼方法繞道而達到購買文章!
現在有辛苦做出付費瀏覽,但被這些人亂攪後,個個連登入也不用就可觀看,試問這有何意思!唉...
版主: 版主管理群
是很想幫您的忙, 只可惜您給的訊息實在是太少了!ccmorange 寫:請問各位大大如何可以解決訪客可購買文章。[附圖示]
本人自行測試時並未發現有方法可經訪客而付費購買文章,不知道它們是用什麼方法繞道而達到購買文章!
現在有辛苦做出付費瀏覽,但被這些人亂攪後,個個連登入也不用就可觀看,試問這有何意思!唉...
就算這些條件都符合,Cash MODs 2.2.2 還是不會加錢給訪客的如果, 您有設定訪客可以發表文章或回覆文章的版面的話,
而這些版面您又有開啟( 顯示) 貨幣的話
在訪客本身有錢的情況下,的確可能會讓付費瀏覽破功.......訪客怎麼會有錢付費 @@?
代碼: 選擇全部
#
#-----[OPEN]----------
#
viewtopic.php
#
#-----[FIND]----------
#
if ( $userdata['user_money'] < $pay_money)
#
#-----[REPLACE WITH]----------
#
if ( $userdata['user_money'] < $pay_money || $userdata['user_id'] == ANONYMOUS)
#
#-----[FIND]----------
#
if (stristr($pay_user, $user_id))
#
#-----[REPLACE WITH]----------
#
if (stristr($pay_user, $user_id) && $userdata['user_id'] <> ANONYMOUS)
#
#-----[OPEN]----------
#
search.php
#
#-----[FIND]----------
#
if (stristr($pay_user, $user_id))
#
#-----[REPLACE WITH]----------
#
if (stristr($pay_user, $user_id) && $userdata['user_id'] <> ANONYMOUS)
#
#-----[SAVE/CLOSE ALL FILES]----------
#
# EoM其實我已設定了隨主版外,其它版面如問題區、測試區等均可接受訪客發言,但已經停用了CASH MOD的功能,理應它們是不能賺錢的。心靈捕手 寫:是很想幫您的忙, 只可惜您給的訊息實在是太少了!
昨天, 還特別搜尋您過去發表的文章, 才得知您的網站位置;
拜訪您的( 入口) 網站後, 找到您的論壇, 再去做一些測試...( 花了蠻多時間的);
測試結果發現:
您有部分版面, 提供訪客發表主題或回覆主題的權限;
我用了 test_money, test_money_2, test_money_3,...等名稱, 發表文章,
並沒有賺取虛擬貨幣的訊息( 但是有察覺, 訪客本身有" 財富 18");
我猜想:
如果, 您有設定訪客可以發表文章或回覆文章的版面的話,
而這些版面您又有開啟( 顯示) 貨幣的話,
那麼訪客們的財富, 是有可能隨著發表文章或回覆文章而增加的;
原本, 想找到您上頭貼的文章, 一探究竟;
但是, 發現您的論壇似乎會自動更新網頁,
增加了搜尋的難度;
因此, 我建議您:
能夠提供較完整的資訊, 方便大家幫您解決問題, 如下:ps. 假如該文已經刪除的話, 那麼建議您在" 測試版" 版面,
- 您的作業系統\r
- 您的 phpbb 版本\r
- 您的論壇位址
- 您的外掛參考連結處
- 發現出問題文章的連結位址
再貼出一篇付費的文章, 供作網友測試.
thx 暫時來看已解決了當前的問題。~倉木麻衣~ 寫:這個問題剛在測試站上測試過了~
該訪客是利用提交時的檢查漏洞成功付費\r
提交的付費Form Action是action=viewtopic.php?mod=pay_money&p=文章編號#文章編號
當訪客身上擁有現金貨幣時~只需要在瀏覽器上輸入\r
http://主機位置/phpBB目錄/viewtopic.php?mod=p ... =文章編號#文章編號
這樣就能成功付費了~
因為程式是假設能夠看到「付費瀏覽」這個按鈕的人都是已登入論壇的訪客
所以在執行付費相關的資料更新時~略過了檢查使用者是否確實為登入狀態
因此訪客才能利用這個疏失看到付費文章的內容
解決方式是多增加一道判斷~
這樣就算訪客身上的現金足夠~也會顯示「現金不足購買此篇文章」的錯誤訊息\r
而且若是先前已成功利用此漏洞的訪客~現在再回去看那篇已付費過的文章~也會顯示「需要付費 」的訊息\r代碼: 選擇全部
# #-----[OPEN]---------- # viewtopic.php # #-----[FIND]---------- # if ( $userdata['user_money'] < $pay_money) # #-----[REPLACE WITH]---------- # if ( $userdata['user_money'] < $pay_money || $userdata['user_id'] == ANONYMOUS) # #-----[FIND]---------- # if (stristr($pay_user, $user_id)) # #-----[REPLACE WITH]---------- # if (stristr($pay_user, $user_id) && $userdata['user_id'] <> ANONYMOUS) # #-----[OPEN]---------- # search.php # #-----[FIND]---------- # if (stristr($pay_user, $user_id)) # #-----[REPLACE WITH]---------- # if (stristr($pay_user, $user_id) && $userdata['user_id'] <> ANONYMOUS) # #-----[SAVE/CLOSE ALL FILES]---------- # # EoM
----------------------------------------------------------
2002/8/26 21:00 修改訪客付費問題
http://phpbb-tw.net/phpbb/viewtopic.php?p=59927#59927
----------------------------------------------------------
不過, 如果您是安裝付費瀏覽 1.0.7 的話,文章主題: [修正]訪客付費
已經裝過的人就改一下吧
還沒裝的就照著原始的裝...
這樣訪客就無法付費了...
現在正在改更詳細的權限設定...
弄好在PO上來...
打開 viewtopic.php
尋找
程式碼:
if ( $mode == 'pay_money' && $p == $postrow[$i]['post_id'])
改成
程式碼:
if ( $mode == 'pay_money' && $p == $postrow[$i]['post_id'] && $userdata['user_id'] > 0 )
=結束囉=
代碼: 選擇全部
#
#-----[ OPEN ]-----
#
viewtopic.php
#
#-----[ FIND ]-----
#
if ( $HTTP_GET_VARS['mode'] == 'pay_money' && $HTTP_GET_VARS['p'] == $postrow[$i]['post_id'])
#
#-----[ REPLACE WITH ]-----
#
if ( $HTTP_GET_VARS['mode'] == 'pay_money' && $HTTP_GET_VARS['p'] == $postrow[$i]['post_id'] && $userdata['user_id'] > 0)
#
#----[ SAVE & CLOSE ]-----
#
建議您這一部分可以做個測試:但由於我於CASH MOD裡設定了所有會員一註冊後便會得到20財富,不知是不是這樣,令到連訪客也有20財富這問題﹖
代碼: 選擇全部
#
#-----[ SQL ]-----
# 請自行修改資料庫名稱以及貨幣欄位名稱\r
update phpbb_users set user_money=0 where user_id=-1