osCommerce and osCMax shopping cart software forums

Shopping Cart Software

osCommerce with teeth!

 
 

Faked Orders

This is a discussion on Faked Orders within the Paypal forums, part of the Payment Modules category; Recently we have been experiencing a huge surge in faked orders on our shop sites. I know how they do ...


Go Back   osCommerce and osCMax shopping cart software forums > osCMax v2.0 Forums > osCMax v2 Features Discussion > Payment Modules > Paypal

Register FAQ Members List Calendar Mark Forums Read


Free community membership! Fast easy FREE membership
Reply

 

LinkBack Thread Tools
  #1  
Old 08-21-2008, 06:38 PM
New Member
 
Join Date: Aug 2007
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
kevmartin is on a distinguished road
Default Faked Orders

Recently we have been experiencing a huge surge in faked orders on our shop sites. I know how they do it, but I'm a little hesitant to post the exact details here as I don't wish to encourage more of this to happen. It is very very easy to do, and instructions are widespread on the web.

We have 1 site on Oscommerce and the other on Oscmax. I have developed solutions on the Osc site, with specific workaround code or each procesor we use there. But Oscmax, we only have one susceptible processor (Paypal), and I havent been able to find a way to beat it. I've tried all I can, using both regular and IPN versions of the PP modules. No good.

Can anyone advise if this issue is known, and if so, is there a solution? The word out there is that the more advanced Paypal modules for oscommerce are not susceptible (though I haven't tried it as we don't accept Paypal at our Oscommerce store).

Thanks.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
Advertisement
  #2  
Old 08-21-2008, 07:51 PM
michael_s's Avatar
osCMax Developer

 
Join Date: Jul 2002
Location: Phoenix, AZ
Posts: 10,990
Thanks: 80
Thanked 345 Times in 324 Posts
Rep Power: 10
michael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond repute
Default Re: Faked Orders

PM me the details of the problem.
__________________
Michael Sasek
osCMax Developer


  • osCMax Templates - Hundreds of premium quality templates designed for osCMax 2. Loyalty discounts up to 30% off!
    Each purchase supports the osCMax project with much needed funds!

  • xShop for osCMax - Windows Based osCMax administration. Improved workflow, security, speed and convenience.

  • osCMax Hosting - From basic hosting to High Availability, Load Balanced arrays, the most experienced osCMax host. Default multi server configuration for exceptional performance!

  • osCMax Template Tutorial - Learn how to make your own custom templates and how to use the powerful features of the osCMax template system.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3  
Old 08-21-2008, 08:14 PM
New Member
 
Join Date: Aug 2007
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
kevmartin is on a distinguished road
Default Re: Faked Orders

Quote:
Originally Posted by michael_s View Post
PM me the details of the problem.
Hi - I must be missing something - I don't see a way to send Private Messages in this forum. I see "visitor messages" but those appear to be public - so I have send a request to your Yahoo ID to add me as a contact. I'll send one to MSN too in a moment.

Thanks,
Kevin
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4  
Old 08-22-2008, 12:27 AM
MindTwist's Avatar
Active Member
 
Join Date: Jun 2007
Location: Barcelona, Spain
Posts: 346
Thanks: 9
Thanked 27 Times in 26 Posts
Rep Power: 3
MindTwist has a spectacular aura aboutMindTwist has a spectacular aura about
Default Re: Faked Orders

Just click on his forum name (michael_s) , a menu will pop up with an option to send a private message to him amongst others.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5  
Old 08-22-2008, 02:01 AM
New Member
 
Join Date: Aug 2007
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
kevmartin is on a distinguished road
Default Re: Faked Orders

Thanks - but I found out that the reason I could not PM was I don't have enough posts in the forum to have that privilege. I got in touch over IM client instead so no problem.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6  
Old 09-06-2008, 03:30 PM
New Member
 
Join Date: Aug 2007
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
kevmartin is on a distinguished road
Default Re: Faked Orders

michael_s, I don't suppose you ever found that solution you said you were going to dig up for this issue?

(Hoping)

Thanks
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7  
Old 09-06-2008, 10:23 PM
jpf's Avatar
jpf jpf is offline
Moderator

 
Join Date: Sep 2003
Location: Manitoba, Canada
Posts: 1,795
Thanks: 5
Thanked 104 Times in 90 Posts
Rep Power: 12
jpf is a name known to alljpf is a name known to alljpf is a name known to alljpf is a name known to alljpf is a name known to alljpf is a name known to all
Default Re: Faked Orders

Suggestions - setup a "random" question/answer or captcha...

Something thing like
"Complete the following sentence: Roses are red violets are....."
"Enter answer: __________________"

Or look at:
Anti Robot Registration Validation 1.0 + images


Though it will not stop them - at least slow them down.
__________________
JPF - osCMax Fourm Moderator
Try out our osCMax at: Live Catalog Demo
Limited access Admin: Live Admin Demo
Feel free to add products they way you want and then purchase them -=+=- Sorry nothing will be billed or shipped!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8  
Old 09-06-2008, 11:21 PM
New Member
 
Join Date: Aug 2007
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
kevmartin is on a distinguished road
Default Re: Faked Orders

Thanks, but unfortunately that won't help I think.

The issue here is that the evildoers can totally bypass the payment stage of the order process due to a flaw in the design of OsCMax and OsCommerce.

They already happily enter fictional information in the customer registration form and are clearly doing that by hand, so CAPTCHA etc won't bother them at all.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #9  
Old 09-07-2008, 01:24 AM
jpf's Avatar
jpf jpf is offline
Moderator

 
Join Date: Sep 2003
Location: Manitoba, Canada
Posts: 1,795
Thanks: 5
Thanked 104 Times in 90 Posts
Rep Power: 12
jpf is a name known to alljpf is a name known to alljpf is a name known to alljpf is a name known to alljpf is a name known to alljpf is a name known to all
Default Re: Faked Orders

From what I could find.... Please verify the following:

1. This only applies if you are using a payment processing module (like the default Pay Pal module) which has no "call back" to the website.

2. Other payment modules, such as World Pay, Paypal WPP, Express Checkout, Payflow users seem unaffected by this.

3. Are they using this for Downloadable products? - I have solution.

To prevent download stealing a small mod to /catalog/download.php is required

On aprox line 23---Replace
PHP Code:
  $downloads_query tep_db_query("select date_format(o.date_purchased, '%Y-%m-%d') as date_purchased_day, opd.download_maxdays, opd.download_count, opd.download_maxdays, opd.orders_products_filename from " TABLE_ORDERS " o, " TABLE_ORDERS_PRODUCTS " op, " TABLE_ORDERS_PRODUCTS_DOWNLOAD " opd, " TABLE_ORDERS_STATUS " os where o.customers_id = '" $customer_id "' and o.orders_id = '" . (int)$HTTP_GET_VARS['order'] . "' and o.orders_id = op.orders_id and op.orders_products_id = opd.orders_products_id and opd.orders_products_download_id = '" . (int)$HTTP_GET_VARS['id'] . "' and opd.orders_products_filename != '' and o.orders_status = os.orders_status_id and os.downloads_flag = '1' and os.language_id = '" . (int)$languages_id "'"); 
with
PHP Code:
// mod to prevent download stealing - added "o.orders_status = '3' and "
  
$downloads_query tep_db_query("select date_format(o.date_purchased, '%Y-%m-%d') as date_purchased_day, opd.download_maxdays, opd.download_count, opd.download_maxdays, opd.orders_products_filename from " TABLE_ORDERS " o, " TABLE_ORDERS_PRODUCTS " op, " TABLE_ORDERS_PRODUCTS_DOWNLOAD " opd, " TABLE_ORDERS_STATUS " os where o.customers_id = '" $customer_id "' and o.orders_id = '" . (int)$HTTP_GET_VARS['order'] . "' and o.orders_status = '3' and o.orders_id = op.orders_id and op.orders_products_id = opd.orders_products_id and opd.orders_products_download_id = '" . (int)$HTTP_GET_VARS['id'] . "' and opd.orders_products_filename != '' and o.orders_status = os.orders_status_id and os.downloads_flag = '1' and os.language_id = '" . (int)$languages_id "'"); 
This does an additional check that order status is 3 (or whatever you have set for payment received). If it does not match then the 'buyer' just sees a blank screen instead of getting access to the download. Instead of
and o.orders_status = '3'
I guess you could use >= '3' or use an or statement.


Other solutions - but hot have looked into them much....


Also look at: suggestions on my site - W3Schools Forum


OR

Try this in the confirmation form:

echo tep_draw_hidden_field('confirm',1);

and this in checkout_process:

if (!$_POST['confirm']) {
tep_redirect(tep_href_link(FILENAME_CHECKOUT_CONFI RMATION, '', 'SSL'));
}

but that is purely for internal so that process is only executed via the confirm button and not url creative editing, when the form goes external that field will not work anymore.


Or

Locate the following lines of code:
PHP Code:
// load selected payment module
require(DIR_WS_CLASSES 'payment.php');
$payment_modules = new payment($payment);
// load the selected shipping module
require(DIR_WS_CLASSES 'shipping.php');
$shipping_modules = new shipping($shipping);
require(
DIR_WS_CLASSES 'order.php');
$order = new order
and insert the following straight after:
PHP Code:
//Stop direct access to this file
if (!$HTTP_SERVER_VARS['HTTP_REFERER']){
// Send an email as a safe-guard against faliure
$email_message 'This order failed at the final stage, maybe a checkout hack attempt. The customers name is ' $order->customer['firstname'] . ' ' $order->customer['lastname'] .'. There telephone number is ' $order->customer['telephone'] . ' and email address is ' $order->customer['email_address'];
tep_mail(STORE_OWNERSTORE_OWNER_EMAIL_ADDRESS'Order Rejection'$email_messageSTORE_OWNERSTORE_OWNER_EMAIL_ADDRESS);
// Redirect the user to the checkout payment page with an error
$error 'A problem has occured whilst processing your payment, the store owner has been notified and should be in contact soon';
tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT'error_message=' urlencode($error), 'SSL'));
exit;

Now when a customer tries to go directly to the checkout_process.php file they will be immediately thrown back to the checkout payments page and you will be notified of there details.


Good Luck
__________________
JPF - osCMax Fourm Moderator
Try out our osCMax at: Live Catalog Demo
Limited access Admin: Live Admin Demo
Feel free to add products they way you want and then purchase them -=+=- Sorry nothing will be billed or shipped!

Last edited by jpf; 09-07-2008 at 01:57 AM. Reason: Added more info...
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #10  
Old 09-07-2008, 02:25 AM
New Member
 
Join Date: Aug 2007
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
kevmartin is on a distinguished road
Default Re: Faked Orders

Fortunately, downloads are not an issue as we don't do that. Really it is a matter of inconvenience of the fake orders coming through and having to be manually removed from the accounting records etc.

The if !$_SERVER(HTP_REFERRER) approach was one I tried myself and it works fine but only for payment methods where the customer doesn't leave the site, such as COD.

The sessions suggestion at suggestions on my site - W3Schools Forum seems to hold some promise to me - I had not tried that as sessions is an area I have not really dabbled at all before.

Thanks for your input.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
Advertisement
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads

Thread Thread Starter Forum Replies Last Post
Admin: Orders module only lists three orders icecold osCMax v1.7 Discussion 1 11-09-2008 07:00 PM
Duplicate Orders driwashsolutions osCMax v2 Features Discussion 5 07-20-2008 01:50 AM
How many orders has customer ordered before 1.0 --> in admin orders michael_s New osCommerce Contributions 0 02-17-2008 12:21 PM
Get duplicate orders in customers orders heaven osCommerce 2.2 Discussion 0 11-07-2005 04:29 AM
how to see orders placed but not checked out? pal osCMax v1.7 Discussion 1 05-04-2005 02:52 PM


All times are GMT -8. The time now is 05:47 AM.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO
http://www.oscmax.com/forums/
Copyright 2008 osCMax