• اطلاعیه ها

    • Saeed Fard

      برگزاری چهارمین همایش Coder Conf و کد تخفیف برای کاربران وردپرس پارسی   20/04/97

      کدرکانف هر سال در آخرین پنجشنبه مرداد با بورد‌های مختلفی برگزار می‌گردد،امسال نیز کدرکانف در همین تاریخ با حضور برنامه نویسان مطرح کشور در بورد تخصصی جاوااسکریپت برگزار خواهد شد، یک گردهمایی متفاوت با طعم Javascript. Coderconf هر سال نسبت به سال‌های گذشته با حضور برنامه‌نویسان پر رنگتر می‌شود. ما سعی کردیم هر ساله به این کنفرانس مفهوم عمیق تری ببخشیم تا از آنچه در سال‌های گذشته عرضه شده به روزتر و مفیدتر واقع شویم. امسال فرصتی خواهد بود تا با نگرشی جدید و بهبود مطالب ارائه شده، عمیقتر به این موضوع نگاه کنیم تا بجای تکرار مباحث پیشین گامی هر چند کوچک در مسیر ارتقای دانش فنی برنامه‌نویسان ایرانی برداریم. ما در Coderconf ۴ با تمرکز بر روی Javascript نیت کرده‌ایم این فرصت را در اختیار برنامه نویسان قرار دهیم تا با ظرافت و استانداردهای روز دنیا کار خود را پیش ببرند. به نظر ما امسال زمان آن فرا رسیده‌است تا این زبان را به صورت تخصصی و از ابعاد مختلف به چالش بکشیم.   دبیر علمی همایش میلاد حیدری، کدرکانف ۴ را اینگونه توصیف کرده است :اشتراک گذاری دانش بهترین راه رسیدن به جاودانگی اطلاعات است. هر ساله همایش‌های زیادی برگزار میشه که افراد شرکت‌کننده می‌توانند با افراد مجرب شبکه سازی کنند. امسال در کدرکانف سعی کردیم علاوه بر بخش شبکه سازی بین افراد بیشتر روی انتقال دانش و کیفیت ارائه ها تمرکز داشته باشیم . به قصد یک گردهمایی بلند مدت بین برنامه‌نویسان جاوااسکریپت که با هم تبادل دانش و اطلاعات کنند گردهم آییم.
      بنده به عنوان عضو کوچکی از جامعه برنامه‌نویسان جاوااسکریپت ایران امیدوارم در کدرکانف امسال علاوه بر شبکه سازی، از اطلاعاتی که دوستان در این همایش در اختیارتان قرار می‌دهند استفاده کنید. در سایت همایش میتوانید سخنرانان و موضوع پنل همایش کدرکانف رو مشاهده کنید . علاقه‌مندان به حضور در این همایش می‌توانند با کد تخفیف wpparsi اقدام به ثبت نام در این گردهمایی کنند. سایت همایش :‌http://coderconf.org
      بلیط فروشی همایش :‌https://evand.com/events/coderconf4  
ahmadwp

دریافت محصولات دنلودی و تکمیل سفارش، بدون پرداخت مبلغ!

8 پست در این موضوع قرار دارد

سلام خدمت شما عزیزان.

من برای قسمت فروشگاه سایت خودم از ووکامرس استفاده می کنم که متصل به درگاه پرداخت واسط زرین پال هست و قبلا متصل به درگاهِ پِی بود.

مشکلی که پیش اومده این هست که کاربری اومده و بدون اینکه احتمالا هیچ پرداختی انجام بده، سفارشش رو دریافت کرده و محصولات رو هم کاملا دانلود کرده!

یعنی در سایتم سفارشاتی به صورت تکمیل شده انجام شده و مشتری دانلودهای خودش رو به طور کامل انجام داده، اما تراکنش موفقی در درگاه پرداخت انجام نشده و مبلغ به حسابم در درگاه واسط افزوده نشده!

این تراکنش ها به صورت ناموفق در درگاه واسط ثبت شدن، اما چطور وقتی تراکنش موفق نبوده، اون کاربر تونسته برگرده و سفارش رو تکمیل کنه! (بدون پرداخت؟)

به شرکتی که ازش درگاه پرداخت داشتم مطرح کردم و اونها گفتن که هیچ تراکنشی برای ما نیومده و ما افزونه وردپرس رو کاملا بررسی کردیم و هیچ مشکلی امنیتی ای هم در افزونه وجود نداره! (اونها به من این رو نهایتا گفتن که ظاهرا اون کاربر، یه جوری پرداخت سفارش رو دور زده!!)

در ووکامرس گزینه ای برای محصولات دانلودی وجود داره با نام (دسترسی به محصولات دانلود شدنی پس از پرداخت) این گزیه اگر فعال باشه، نیاز نیست که دیگه مدیرِ سایت، هر بار برای هر سفارش یکی یکی بره و وضعیت اونها رو به تکمیل شده تغییر بده تا مشتری بتونه محصول رو دانلود کنه و این احتمالا هیچ مشکلی نداره چون جزو امکانات داخلی ووکامرس هست.

اما من برای اینکه وضعیت سفارش از حالت پرداخت شده به تکمیل شده تغییر داده بشه کمی کد در فایل function.php پوسته سایتم قرار دادم که در زیر برای شما قرار می دم، شاید باگ در همین کد باشه چون احتمالا ووکامرس سیستمی نیست که چنین باگ ضایعی داشته باشه، هرچند که دور از انتظار هم نیست.

کدی که در فاکنشن قرار دادم:

/**
* Auto Complete all WooCommerce orders.
*/
 
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) {
    global $woocommerce;
 
    if ( !$order_id )
        return;
    $order = new WC_Order( $order_id );
    $order->update_status( 'completed' );
}

/**
* Auto Complete all WooCommerce orders.
*/

به نظر شما همین کد می تونه مشکل ایجاد کرده باشه و اون کاربر (احتمالا هکر) از همین موضوع استفاده کرده باشه و در فرانت اند کاری کرده باشه که بدون پرداخت، سفارش تبدیل به تکمیل شده بشه؟

البته من هنوز از درگاه پرداخت هم مطمئن نیستم، به هر حال این کد رو هم قرار دادم شاید بیشتر به شما برای حل مشکل کمک کنه.

جالب اینجاست که گفتم شاید مسئولین درگاهِ پِی درست بررسی نکرده باشن و مشکل از افزونه اونها باشه، لذا درگاه رو از پِی، به زرین پال تغییر دادم و اون قبلی رو حذف کردم، اما با زرین پال هم همین مشکل به وجود اومد!

آیا باید نگران امنیت سایتم باشم و این می تونه این هشدار رو بده که باقی قسمت های سایتم مانند مدیریت هم در خطره؟ چطور اون کاربر یا کاربران این کار رو انجام دادن و بدون اینکه پرداختی انجام بدن سفارش رو تکمیل کردن و محصولاتشون رو دریافت کردن؟

بنده درگاه پرداخت پِی و زرین پال رو هم از سایت های اصلی اونها دانلود کردم و برای شما پیوست کردم که در صورت امکان لطف کنین و شما استادان گرامی هم نگاهی بندازین و ببینین که آیا این باگ می تونه از این درگاه ها باشه؟

بسیار از شما سپاسگزارم

Payir-woocommerce.zip

zarinpal-woocommerce-payment-gateway.zip

0

به اشتراک گذاری این پست


لینک به پست

به نظرم باید چک کنید اگه وضعیت processing بود تغییر بده به complete

 

3

به اشتراک گذاری این پست


لینک به پست

شما توی کدی که قرار دادید اصلا چک نکردید وضعیت پرداخت به چه شکله شاید مشکل از این باشه.

البته من زیاد با ووکامرس آشنایی ندارم.

2

به اشتراک گذاری این پست


لینک به پست

سلام

من مشکلی تو کد ندیدم

 

ادرس سایتتون رو قرار بدین تا مشکل رو بررسی کنیم...یا شاید باگ directory listing ای چیزی باشه...

یاعلی

1

به اشتراک گذاری این پست


لینک به پست

دوست عزیز دقیقا حق با a_mogheimi هست.

داخل برگه ی پس از بازگشت از درگاه یک do_action به شکل زیر اجرا میشه :

<?php do_action( 'woocommerce_thankyou_' . $order->get_payment_method(), $order->get_id() ); ?>
<?php do_action( 'woocommerce_thankyou', $order->get_id() ); ?>

زمانی که کاربر به این برگه دسترسی پیدا کنه این اکشن در صورتی که سفارش (با هر وضعیت پرداختی) وجود داشته باشه براش اجرا میشه و اکشن شما هم اجرا میشه.

اصلا روش خوبی رو استفاده نکردید.

بهتره از اکشن woocommerce_order_status_changed استفاده کنید که چک کنید اگر وضعیت جدید به صورت پرداخت شده بود به وضعیت تکمیل شده تغییر پیدا کنه.

2

به اشتراک گذاری این پست


لینک به پست

سلام.

از پاسخ های همه شما عزیزان متشکرم، شما خیلی مهربان و خوب هستید.

آقا حنان عزیز (HANNANStd)، یعنی اصلا نباید نگران امنیت سایتم باشم و فکر کنم که سایتم هک شده؟ چون در سایتم هیچ آثاری از هک شدن وجود نداره و تنها اتفاق غیرطبیعی که توسط من مشاهده شده همین مورد خرید بدون پرداخت هست.

اون هم همه کاربران قادر به این کار نیستن (چون این روش این شخص رو بلد نیستن)، این شخصی که این کارها رو انجام داده از روش خاصی استفاده می کنه، من خودم به عنوان کاربر، هر جور امتحان می کنم و از صفحه پرداخت بانک بر می گردم، یا اینکه پرداخت رو نیمه تمام می ذارم، به هیچ وجه سفارش خود به خود، به پرداخت شده یا تکمیل شده تغییر داده نمیشه، نمی دونم این شخص دقیقا از چه روشی برای این کار استفاده می کنه که پرداخت رو دور می زنه و بدون پرداخت، سفارش رو تبدیل به تکمیل شده می کنه و محصولات رو دانلود می کنه!؟

با توجه به گفته های شما (آقا حنان) فکر می کنم جای نگرانی نیست و مشکلی مانند هک شدن برای سایتم وجود نداره و فقط باید همین کدی که در فانکشن قرار دادم که مرتبط با تغییر وضعیت سفارش هست رو جایگزین کنم، آیا درست متوجه شدم؟

چون من همیشه وردپرس و تمامی افزونه ها رو به روز نگه می دارم، دایرکتوری لیستینگ رو غیرفعال کردم، سطح دسترسی یا پرمیشن پوشه ها و فایل های مهم وردپرس رو بر روی ۴۰۰ قرار دادم، از رمز بسیار قوی برای مدیریت استفاده کردم و خیلی از موارد رو در بحث امنیت رعایت کردم و به اونها آگاهی دارم، برنامه نویسان شرکت های درگاه پرداخت هم بررسی کردن و گفتن که به هیچ وجه مشکل در سیستم اونها و یا پلاگین اونها نیست.

تنها چیزی که این وسط توسط خودم دستکاری شده، این هست که این کد رو در فانکشن قرار دادم، البته خیلی وقته قرار دادم و تاکنون این مشکل برام پیش نیومده بود، اما اینبار ظاهرا شخصی اومده و روشی رو برای دور زدن پرداخت پیدا کرده!

من فقط می خوام از این موضوع مطمئن بشم که دقیقا این مشکل به خاطر چه چیزی به وجود اومده و عامل اصلی اون چیه؟ تا اون رو به طور کامل رفع کنم، باز هم از صمیم قلب از همه شما متشکرم.

0

به اشتراک گذاری این پست


لینک به پست
https://metorik.com/blog/autocomplete-all-the-orders-in-woocommerce
https://woocommerce.com/products/woocommerce-order-status-control/
https://www.skyverge.com/blog/how-to-set-woocommerce-virtual-order-status-to-complete-after-payment/

در لینک اول قسمت سوم‌ش مناسب کار شماست

دومی هم افزونه رسمی ووکامرس هست

لینک سوم هم کار شما رو انجام میده اما برای نسخه‌ی جدید به گفته طرف احتمال داره کار نکنه

1

به اشتراک گذاری این پست


لینک به پست

از همه شما عزیزان، بابت همکاری ای که کردین و پاسخ هایی که ارسال کردین سپاسگزارم، مخصوصا از آقای مقیمی که به صورت خصوصی هم مزاحم ایشون شدم و سایتم رو دیدن و بررسی کردن و نظر قطعی خودشون رو اعلام کردن.

خواستم از این طریق هم اعلام کنم تا این تاپیک، به یک نتیجه نهایی برسه و بحثش تمام بشه.

مشکل از همون کدی بود که خودمم بهش مشکوک بودم، کدی که در فانکشن قرار داده بودم، یعنی کدی که در ابتدای همین تاپیک، در پیام اول نوشته بودم، مشکلِ این کد این بود که هیچ شرط محکمی در اون تعیین نشده بود، مثلا اگر حتما وضعیت سفارش در حالت، در حال انجام یا پرداخت شده باشه، بعد به تکمیل شده تغییر پیدا کنه.

آقای مقیمی عزیز، لینکی رو هم برای بنده ارسال کردن که در اون شرطِ بهتر و امن تری نوشته شده بود، لینک زیر:

https://stackoverflow.com/questions/36969532/how-to-check-order-status-after-payment-in-woocommerce

باز هم از همه شما خوبان متشکرم، گاهی اوقات همین چیزهای کوچیک که از نگاه آدم دور می مونه می تونه باعث ایجاد مشکل بشه، وردپرس سیستم امنیه، البته اگر خود ما امنیتش رو بر هم نزنیم! B) من با قرار دادن کد ناامن، خودم باعث این مورد شده بودم که حالا حل شد.

درس این داستان هم برای علاقه مندان، اینه که قبل از اینکه کدی رو در فانکشن قالب قرار بدن، از کارکرد صحیح و امنیت اون مطمئن بشن، من چون از یکی از سایت های بسیار معتبر خارجی این کد رو برداشت کرده بودم، دیگه خودم بررسی انجام نداده بودم و بهش اطمینان داشتم.

دلیل نمیشه که حتی اگر از معتبرترین سایت در زمینه آموزش وردپرس در دنیا هم کدی رو بخواین برداشت کنین و در قالب سایت تون کار بذارین، اون کد امن و صحیح باشه و نیاز به بررسی شخصی و دقیق نداشته باشه.

مورد بعدی اینه که گاهی اوقات کدها هم مشکل ندارن، اما وقتی قالب، افزونه ها و خود وردپرس آپدیت می شه، اون کدهای قدیمی دیگه با نسخه های جدید سازگار نیستن، البته به این موضوع واقف بودم اما فراموش کرده بودم بررسی کنم، به هر حال، لازمه هر بار که به روز رسانی ای انجام می دین، دوباره کدهای کاستومی که قرار دادین رو بررسی کنین و مطمئن بشین که با نسخه های جدید مشکلی نداره (از لحاظ امنیت و کارآیی)

موفق باشید، متشکرم، خدا نگهدار

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط sajadszm
      سلام.
      دوستان میخوام وقتی دارم انواع مختلفی از ویژگی رو ایجاد میکنم هر ویژگی به طور معمول یک قیمت هم داشته باشه.
      یعنی مثلا محصول من یک سیستم کامپیوتر هست که ویژگی هاش هارد و مادربورده میخوام قیمت هارد و مادربورد رو پیش فرض وارد کنم(نه اینکه برای هر محصول جدا وارد شه) و وقتی اینهارو اضافه میکنم به محصول قیمتش خودش اضافه شه.
      در ضمن نمیخوام مشتری خودش انتخاب کنه میخوام من انتخاب کنم صرفا!
    • توسط mrkhandan
      درود
      ما ی فروشگاه داریم که بر اساس وزن باید قیمت تغییر کند
      مثلا قیمت هر کیلو کیک x تومان هست مشتری انتخاب کنه گه چند کیلو کیک میخواد
      ی افزونه از سایت http://woocommerce.ir/ خریداری کردیم که مشکل کد نویسی داشت و نه جواب تلفن میدن نه جواب تیکت ی مشت دزد.
    • توسط soheil1
      سلام دوستان من قالبی دارم که دوتا فایل css داره یکی حالت شب و مشکی یکی روز و سفید. الان به صورت دستی میشه از تنظیمات قالب بین این دوحالت سوئیچ کرد میخوام بدونم راحی هست که کاربر با یک دکمه بین این دوحالت سوئیچ کنه یا مناسب با ساعت شبانه روز حالت شب و روز فعال بشه؟!
    • توسط حانیه سادات حسینی
      سلام وقت بخیر
      من یه مشکل دارم لطفا میشه راهنماییم کنید
      من میخوام وقتی موس میاد محصولات و کلیک میشه صفحه محصولات باز نشود کسی میتواند به من کمک کند.

    • توسط mr.zamani
      سلام به همگی 
      تو ووکامرس این امکان وجود داره که محصولات برگه اختصاصی نداشته باشند ؟ 
      یعنی در صفحه محصولات با کلیک روی محصول یا "هیچ اتفاقی نیافته" یا "محصول مستقیم به سبد خرید بره" . هر کدوم از این اتفاق ها بیافته خوبه .
      متاسفانه من خیلی به کد نویسی آشنایی ندارم .