چگونه از ارسال اسپم توسط سایت وردپرسی جلوگیری کنیم؟

چگونه از ارسال اسپم توسط سایت وردپرسی جلوگیری کنیم؟
چگونه از ارسال اسپم توسط سایت وردپرسی جلوگیری کنیم؟

علی رغم امکانات و مزایای فراوان وردپرس ، یکی از مشکلاتی که ممکن است یک سایت وردپرسی با آن مواجه شود ، ارسال اسپم می باشد که دلیل عمده آن استفاده از پلاگین های نال شده و غیر امن می باشد.

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

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

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

‫معمولا در هاست های اشتراکی هر یوزر امکان ارسال 200 تا 1000 ایمیل در روز را دارد. اگر سایتی بیشتر ازین تعداد ایمیل ارسال کند در واقع خلاف قوانین هاست اشتراکی عمل کرده است ومدیر سرور میزبانی مجبور به بستن سایت شما می شود تا دیگر سایت هایی که در آن سرور میزبانی می شوند دچار مشکل افت سرعت و همچنین اختلال در سرویس ایمیل نشوند.

معمولا اگر یوزری اسپم ارسال کند ، دیتاسنتر برای مدیر سرور abuse ارسال می کند و در خیلی اوقات پورت 25 در سرور محدود می شود و ارسال ایمیل از کل سرور ممکن نمی باشد‬‎

حالا چه کارهایی باید انجام دهیم تا از سایت وردپرسی ما اسپم ارسال نشود ؟
در ادامه این راهکارها را با هم بررسی میکنیم ، اگر شما هم با این مشکل مواجه بوده اید تا پایان این مقاله همراه ما باشید‎

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

جلوگیری از ارسال اسپم توسط وردپرس
جلوگیری از ارسال اسپم توسط وردپرس

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

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

افزونه هایی برای جلوگیری از ارسال اسپم

افزونه ارسال ایمیل Postman SMTP Mailer/Email Log
وردپرس به صورت پیشفرض از تابع php mail استفاده می کند و هویت شخصی که ایمیل ارسال می کند مشخص نخواهد بود. این یعنی ارسال ایمیل امنیت کمی دارد و می توان تعداد ایمیل های اسپم زیادی را ارسال کرد

حالا باید شما از افزونه ای استفاده کنید که هم احراز هویت در آن وجود داشته باشد و هم ارسال ایمیل را مدیریت کند البته افزونه های دیگری نیز برای اینکار وجود دارند که ما به شما افزونه postman را معرفی میکنیم

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

یکی از بهترین افزونه ها در این زمینه All in one wp Security است که علاوه بر اضافه کردن کد کپچادر صفحه ورود به وردپرس و در فرم های تماس با ما، فایروال برای پیشگیری از نفوذ نیز را دارا می باشد

افزونه All in one wp Security قابلیت اسکن فایل ها و کدهای مخرب را نیز دارا می باشد
البته سعی کنید خود شما به صورت دستی نیز کدهای مخرب را بیابید و آنها را حذف کنید زیرا ممکن است افزونه نتواند بعضی کدها را شناسایی کند مقاله زیر را مطالعه فرمایید:

ویروس شناخته شدن سایت و بلاک آن توسط گوگل

آیا هاستینگ (سرویس میزبانی سایت) روی ارسال نشدن اسم تاثیر دارد؟

این موضع تاثیر مستقیم بر ارسال نشدن اسپم دارد. هاستینگ هایی که آنتی شل هایی نظیر CXS استفاده می کنند تقریبا 90% از این مشکلات در امان هستند.

سرویس های پیشگام وب CXS استفاده می کنند و به صورت 24 ساعته فایل های مشکوک در سرور بررسی می شوند

ایمن سازی ایمیل و رمز عبور
متاسفانه یکی از مواردی که کاربران به آن کمترین توجه را میکنند استفاده از کلمات عبور کوتاه و ساده برای اکانت ایمیل یا مدیریت وردپرس ، پنل هاستینگ و … است
استفاده از رمزهای عبوری که به راحتی در ذهن شما ماندگار می شود می تواند زمینه ساز نفوذ را فراهم کند
استفاده از رمز های عبور ساده می تواند کار نفوذ برای هکرها را آسان کند

یک رمز عبور مناسب و پیچیده شامل چه مواردی است؟
1- حروف کوچک و بزرگ
2- اعداد
3- کاراکترهایی مثل @ , # , ” , ( , ) و از این قبیل
یک نمونه رمز پیچیده
PAdj#1ad@(54wd)&
نکته 1 : رمز های عبور خود را نرم افزار هایی مثل KeePass ذخیره کنید و از ذخیره آنها در نوت پد ویندوز (notepad) خودداری کنید
نکته 2 : رمزهای عبور را هر چند وقت یکبار تغییر دهید مثلا هر 30 روز یا هر 45 روز یکبار (و هر زمان که احساس خطر کردید)

‫در پایان اگر سایت شما دچار چنین مشکلاتی شده است می توانید از طریق ارسال تیکت با همکاران بخش پشتیبانی مشورت کنید تا بتوانیم مشکل شما را در کمترین زمان ممکن رفع کنیم‬‎

چرا باید سایت داشته باشیم

چرا باید سایت داشته باشیم
چرا باید سایت داشته باشیم

شاید با علمی که مردم امروز از دنیای فن آوری دارند ، پرسیدن این سوال که چرا باید یک سایت داشته باشیم ، خنده دار باشه ، ولی هنوز خیلی از افراد هستند که مزایای داشتن سایت رو نمیدونن ، در این مقاله سعی کردم بصورت خلاصه به این بپردازم که چرا باید یک سایت تو دنیای اینترنت داشته باشم ، اصلا داشتن سایت چه کمکی به بهتر شدن کسب و کارمون میکنه ؟؟ چه کمکی تو بهتر زندگی کردنمون داره؟
1-جهانی شدن و فراگیر شدن اینترنت

از زمانیکه مودمهای dial up تو خونه ها بود ، بیشتر از یک دهه گذشته ، هنوز بوق وصل شدن به اینترنت با مودم دایل آپ تو گوشمه 😀 ، اون زمان برای خیلی کارها مجبور بودیم بریم کافی نت یا بریم خونه اقوامی که ازین مودم دایل آپ ها داشتن ، ولی شاید جالب باشه بدونین همین الان که من دارم این مقاله رو براتون بنویسم ، در ایران عزیز از هر 10 تا خونه ، هشت تا خونه اینترنت داره ، این یعنی دنیا و کشور ما با سرعت باور نکردنی تو این حوزه داره پیشرفت میکنه.
شیوه های بازاریابی سنتی دیگه خیلی جوابگو نیستند ، همین امروز یک نفر به من زنگ زد راجب یه محصولی توضیح بده ، بش گفتم اگه ادرس سایت دارین ، ادرس سایتتون بدین ، من خودم تو سایت کاتالوگاتونو میخونم .
یزمانی من اگه میخواستم شماره یه دکتر دندون پزشک رو پیدا کنم ، باید زنگ میزدم 118 ، اونم معلوم نبود شماره رو داشته باشه یا نه ، ولی الان سریع تو گوگل جستجو میکنم دندان پزشکهای رسالت و به همه مشخصاتشون دسترسی پیدا میکنم.
پس تا اینجا نتیجه گرفتیم تو دنیای امروزی اگه میخواین سریعتر مردم شمارو پیدا کنن باید یک سایت داشته باشین
2- همیشه در دسترس بودن

من خودم همیشه جمعه ها وقتم برا خرید آزاد تره ولی خیلی جاها جمعه ها تعطیلن ، اصلا خیلی مجتمع ها مثل مجتمع های کامپیوتری ساعت کاری مشخص دارن و بیشتر ازون نمیتونن مغازه هاشونو باز نگه دارن ، ولی من میتونم از اینترنت حتی ساعت 2 نصف شب یک روز تعطیل خرید کنم.
پس شما با داشتن سایت 24 ساعت در دسترس هستین ، حتی نصف شب کسیکه با شماکار داره میتونه تو سایت شما پیغام بزاره و شما روز بعد پیغامشو بخونین و جواب بدین
3-همه جا در دسترس بودن
اگه شما یه مغازه دارین فقط به افراد در محدوده خودتون میتونین محصولاتتون و بفروشین ولی وقتی یک سایت تو اینترنت دارین ، دیگه مرزبندی ندارین ، هرکس از هر شهری میتونه از محصولات شما خرید کنه.
امروز خیلی سایتها هستند که دارن حتی به خارج از ایران محصول میفروشن.محصولاتی مثل صنایع دستی و …

4- راحت کردن کار مردم
برا خود من واقعا جذابه که بتونم خدمتی ارائه بدم که حس خوب برای مردم کشورم ایجاد کنم. با داشتن سایت میتونین کار مردم و راحت تر کنین و یه حس خوب برای کاربراتون ایجاد کنین.
حتما دیدین سایتهایی که داخلش میتونین سفارش غذا بزارین ، بدون هیچ دردسری ، از نزدیک ترین و بهترین رستوران ، با 4 تا کلیک غذا سفارش میدین یا سایتهایی که برات نون تازه میارن و خیلی دیگه از کسب و کارها که به راحت زندگی کردن مردم کمک میکنن.
پس یکی دیگه از مزایای داشتن سایت ،کمک به رفاه مردم و راحت کردن بخشی از گرفتاریهای مردم هست.

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

الگوریتم گوگل پنگوئن و آپدیت های جدید

الگوریتم گوگل پنگوئن و آپدیت های جدید
الگوریتم گوگل پنگوئن و آپدیت های جدید

در آخرین آپدیت الگوریتم گوگل ، خیلی از سایتها متضرر شدن ، البته خیلی ها هم خوشحال شدن.

امروز گوگل خیلی زرنگ تر از گذشته شده است و راههای تقلب یک سایت برای بالا امدن در موتورهای جستجو را سریعا شناسایی میکند.

گرفتن بک لینکهای بی کیفیت یکی از دلایلی بود که خیلی سایتها بخاطر این قضیه ضرر کردن.‎

گوگل پنگوئن
گوگل پنگوئن

الگوریتم‌های آپدیت شده در سپتامبر:

پنگوئن
هسته الگوریتم (Core Algo)
نتایج محلی (آپدیت Possum)

الگوریتم پنگوئن

در واقع پنگوئن یک وصله برای هسته اصلی الگوریتم بود که در این ماه بروز شد. پس از پاندا، یکی از الگوریتم‌هایی که توانست بیشترین تاثیر را بر نتایج جست‌وجو بگذارد پنگوئن بود و البته هست. این الگوریتم باعث شد که بسیاری از استراتژی‌ها و تاکتیک‌هایی که افراد برای بهینه‌سازی و بهبود رتبه سایت‌ها بهره می‌گرفتند، تاثیرشان را از دست بدهند و باعث جریمه شدن برخی از سایت‌ها خاطی شوند.

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

اما حال بازی به‌کل عوض شده است؛‌ پنگوئن به صورت Real-Time و زنده نتایج را تحت تاثیر می‌گذارد. اگر امروز بک‌لینک‌های بی‌کیفیت و اسپمی برای خود ایجاد کنید، ممکن است به زودی از نتایج حذف شوید و در صورت حذف آنها، مجددا و بدون این که برای مدت زیادی صبر کنید، به نتایج بازگردید.

تا قبل از این پنگوئن در سطح Domain Level برروی وب‌سایت‌ها تاثیر می‌گذاشت؛ اما حال به سطح Page-level رسیده است و تنها همان صفحه از نتایج جست‌وجو حذف می‌شود نه تمامی سایت. گرچه هنوز گوگل این مسئله را تایید یا رد نکرده‌است، اما طبق معمول فکر می‌کنم که یک چیز نسبی خواهد بود؛ ممکن است تنها همان صفحه حذف شود و ممکن است برروی کل دامنه تاثیر بگذارد.

گوگل چه می گوید؟

With this change, Penguin’s data is refreshed in real time, so changes will be visible much faster, typically taking effect shortly after we recrawl and reindex a page.

تا چند روز پیش هنوز پنگوئن در تمامی نتایج جست‌وجو اعمال نشده بود اما یکی از کارکنان گوگل اعلام کرد که این الگوریتم برروی تمامی دیتاسنترهای گوگل فعال شده است و حالا برروی تمامی نتایج تاثیر می‌گذارد.

اگر با شیوه‌های معمول رتبه وب‌سایت خود ر افزایش می‌دهید جای نگرانی نیست. اما اگر فکر می‌کنید که بک‌لینک‌های مضرتان بیشتر از بک‌لینک‌های خوبتان است، بهتر است کمی بیشتر برای بهبود آنها وقت بگذارید و تلاش کنید که بک‌لینک‌های مضر را حذف کنید. اگر امروز باعث افت رتبه شما نشود، یک روزی گریبان‌گیر شما خواهند شد.

اولین سوالی که پرسیده میشود در مورد این اپدیت جدید این میباشد که آیا فرقی میان پنگوئن و پاندا وجود دارد؟

اولین هدف از ایجاد پاندا برخورد با وبسایت هایی بود که باعث میشدند کاربر در آنها احساس راحتی نکند.این احساس ناراحتی را میتوان در بخش های مختلفی از اپدیت های پاندا مشاهده کرد مانند اپدیتی که در ژانویه ۲۰۱۲ انجام شد و در ان برخورد با وبسایت هایی انجام شد که تبلیغات فراوان داشتند ( Page Layout Algorithm Update )
و یا برخورد به وبسایت هایی که دارای محتوای ضعیف هستند ( Poor Content ).میتوان گفت این الگوریتم کاربر محور بود

اما در الگوریتم پنگوئن اپدیت ها زیاد کاربر محور نمیباشد هرچند تاثیر مستقیم ان بر نتایج جستوجوهای کاربران میباشد اما گوگل سعی دارد در این اپدیت سایت هایی که واقعا اسپم هستند و سعی در گول زدن گوگل دارند را حذف کند.

سوال مهم تر و اخر هم این میباشد که چگونه از مشکلات پیش آمده سرافراز خارج شویم؟ چگونه Recovery کنیم؟
در انجمن Warrior Forum یک پاسخ جالب به این پرسش داده شده است:
پاسخ به این سوال این میباشد که به بازدیدی که از طرف گوگل به سمت شما می آید اهمیت ندهید و براساس آن برنامه ریزی نکنید.سعی کنید به جای گوگل با کاربران و همکاران خود رابطه برقرار کنید.نظر دادن در وبلاگ های دیگران و ارسال پست مهمان میتواند برای ایجاد محبوبیت در مدت زمان کم میتواند بسیار مفید باشد.اما نکته اینجاست که شما در این مدت به گوگل اهمیت نمیدهید اما کم کم گوگل به شما اهمیت میدهد.
مقالات بسیاری در مورد ریکاوری از پنگوئن منتشر شد اما واقعا میتوان متن بالا را راهکاری برای ریکاوری از تمام اپدیت ها دانست.

آپدیت Possum مربوط به نتایج محلی

این آپدیت نتایج محلی را به‌شدت تحت تاثیر قرارداد. طبق گفته‌های Barry Schwartz، نتایجی که حالا کاربران می‌بینند به‌شدت به محلی که آنها و شما به عنوان یک وب‌سایت و کسب‌وکار هستید بستگی دارد. این وابستگی به حدی‌ست که اگر چند چهارراه موقعیت‌تان تغییر کند ممکن است نتایج متفاوتی را ببینید. البته فکر نمی‌کنم این آپدیت آنقدری برای ایران مفید و کارا بوده باشد و یا اصلا کاری انجام داده باشد.

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

آپدیت مربوط به هسته الگوریتم (Core Search Algo)

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

از آنجایی که دیگر گوگل اعلام نمی‌کند که الگوریتم پنگوئن بروز شده است، باید هر لحظه برای آپدیت‌های مخلتف آماده باشیم و تلاش کنیم که وضعیت وب‌سایتمان در بهترین حالت ممکن قرار بگیرد. از آنجایی که گوگل وارد‌سازی فیلترهایی مثل پنگوئن را آغاز کرده است می‌توان حدس زد که در بازه زمانی یک ساله آینده، الباقی فیلترها را نیز وارد الگوریتم اصلی یا Core algorithm کند

بدافزار یا باج افزار ایرانی

بدافزار یا باج افزار ایرانی
بدافزار یا باج افزار ایرانی

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

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

هم اکنون فقط پیغامی که گفته شد نمایش داده می شود و فعلا درخواست باج ندارد
فایل هایی که قفل می شوند پسوند به آن “hacked” تغییر میکند گفتنی است الگوریتم رمزگذاری که در باج افزار استفاده می شود AES و طول کلید 256 بیت می باشد

آیا باج افزار خطری جدی برای کاربران به شمار می رود؟
هم اکنون این باج افزار در مراحل ابتدایی توسعه خود است و خطری جدی محسوب نمی شود اما توجه داشته باشید احتمال این وجود دارد که در آینده بسیار خطرناک تر از این باشد

باج افزار به چه فایل هایی اسیب رسانده است؟
به فایل های چند رسانه ای، متنی و آفیس از طریق این بد افزار اسیب وارد شده است
پسوند هایی که در معرض اسیب قرار دارند به شرح زیر است:
.CSS, .CONF, .CHM, .BMP, .AVI, .APK, .3GP, .MP3, , .MOV, .MKV, .JPEG, .JPG, .IBOOKS, .ISO, .GZ, .GIF, .FLV, .FB2, .DOCX, .EPUB, .DOC, .DOCM, .DBX, .DJVU, .DBF, .DB, .DAT, .CSV, .TXT, .TORRENT, .TBL, .TIFF, .SAV, .SWF, .SCR, .PSD, .PPSX, .PPTX, .PPT, .PNG, .PKG, .PKG, .PPS, .PDF, .PJG, .PDF, .PICT, .MPEG, .MPG, .MP4, .CCP, .CASB, .DRW, .DFX, .DXF, .DCX, .MRG, .RB, . RBW, .DAXPAC, .PHP, .JS, .CS, .CPP, .C, .JAVA,. XML, .XPS, .XLSX, .XLS, .WMV, .VSD

چگونه این بدافزار را شناسایی کنیم؟
از آنجایی که هم اکنون این باج افزار فایلی به نام “ransom-flag.png” در درایو D ایجاد و آن را رمز گذاری می کند و با بقیه فایل ها کاری ندارد خطری خیلی جدی به شمار نمی رود
اما با باز نکردن ایمیل های مشکوک، دانلود نکردن فایل ها از منابع نامعتبر و داشتن آنتی ویروس قوی و البته به روز از آلوده شدن به این باج افزار و سایر بدافزارها جلوگیری کنید

نکات مهم در راه اندازی فروشگاه آنلاین

نکات مهم در راه اندازی فروشگاه آنلاین
نکات مهم در راه اندازی فروشگاه آنلاین

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

عده ای از افراد متاسفانه موفق نمی توانند موفق شوند و البته عده ای نیز وجود دارند که در کسب کارشان موفق می شوند

اگر کمی باهوش باشید می توانید موفقیت را به طرف خودتان جذب کنید.

حالا چه کارهایی باید انجام دهیم تا روز به روز در تجارت الکترونیک موفق تر شویم؟ در ادامه به آنها می پردازیم:

طراحی وب سایت

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

در کل طراحی سایت باید به گونه ای باشد که کاربر از اینکه وارد سایت شما شده لذت ببرد مثل رنگ و طرح سایت و …

سبک بودن و پرسرعت بودن وبسایت

به دلیل اینکه امروزه اغلب کاربران از اینترنت های حجمی استفاده می کنند و همیشه نگران تمام شدن حجم اینترنتشان هستند به سایت های کم حجم علاقه بیشتری دارند

البته کم حجم بودن باعث افزایش سرعت وبسایت نیز خواهد شد که هر کاربری دوست دارد مدام در سایت بچرخد و محصولات مختلف را ببیند در غیر اینصورت اگر وب سایت شما کند باشد باعث کلافگی کاربران می شود و در دفعات بعد هرگز به سایت شما مراجعه نخواهند کرد

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

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

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

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

فضایی مناسب برای کاربران

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

دارا بودن رتبه خوب در سئو (SEO) و نگهداری آن

بهینه بودن سایت شما در موتور های جستجو مانند گوگل یکی از عوامل عمده افزایش ترافیک و جذب کاربران است

سعی کنید از سیستم یا اسکریپتی برای فروشگاه خود استفاده کنید که امکانات بیشتری در زمینه سئو داشته باشد و خود سیستم نیز بهنیه باشد

وردپرس و افزونه اش یعنی ووکامرس می تواند یکی از سیستم های مدیریت محتوای ایده عال برای راه اندازی فروشگاه آنلاین باشد این سیستم انعطاف پذیری بالا و امکانات فراوانی دارد

آشنایی با سندباکس گوگل

آشنایی با سندباکس گوگل
آشنایی با سندباکس گوگل

سندباکس گوگل (Google sandbox) فیلتریست که اجازه رتبه گرفتن به وبسایت های جدید را نمی دهد در واقع این قابلیت گوگل مانع کسانی می شود که میخواهند یک شبه ره صدساله را طی کنند (یعنی از طریق اسپم به رتبه های عالی در گوگل برسند)

قرار گرفتن در سند باکس گوگل ممکن است تا شش ماه زمان نیاز داشته باشد یعنی در واقع با توجه به رقابت هایی که بین کلمات کلیدی وب سایتتان در سراسر فضای مجازی وجود دارد می تواند این زمان کم یا زیاد شود

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

چه مدت زمان طول میکشد سایت در سندباکس بماند؟
با توجه به رقابت کلمات کلیدی متغیر است اما زمان عادی آن بین یک تا شش ماه

توجه داشته باشید استفاده از قابلیتهای دیگر گوگل مثل Google Adsense , AdWords زمان قرارگیری وبسایت در سندباکس را کاهش نمی دهد

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

php 7.1 منتشر شد

php 7.1 منتشر شد
php 7.1 منتشر شد

در روز جمعه، تیم توسعه دهنده php بصورت رسمی PHP 7.1 را منتشر کرد.
در نسخه php 7.1.0 تغییراتی در nullable types ، class constant visibility ، void return types شاهد بودیم.
همینطور مانند قبل تیم توسعه دهنده php روی بهبود سرعت php در این نسخه تمرکز کرده است.

php7-1
آخرین تغییرات به شرح زیر می باشد:

Added nullable types.
Added DFA optimization framework based on e-SSA form.
Added specialized opcode handlers (e.g. ZEND_ADD_LONG_NO_OVERFLOW).
Added [] = as alternative construct to list() =.
Added void return type.
Added support for negative string offsets in string offset syntax and various string functions.
Added a form of the list() construct where keys can be specified.
Implemented safe execution timeout handling, that prevents random crashes after “Maximum execution time exceeded” error.
Implemented the RFC `Support Class Constant Visibility`.
Implemented the RFC `Catching multiple exception types`.
Implemented logging to syslog with dynamic error levels.
Implemented FR #72614 (Support “nmake test” on building extensions by phpize).
Implemented RFC: Iterable.
Implemented RFC: Closure::fromCallable (Danack)
Implemented RFC: Replace “Missing argument” warning with “\ArgumentCountError” exception.
Implemented RFC: Fix inconsistent behavior of $this variable.
Fixed bug #73585 (Logging of “Internal Zend error – Missing class information” missing class name).
Fixed memory leak(null coalescing operator with Spl hash).
Fixed bug #72736 (Slow performance when fetching large dataset with mysqli / PDO).
Fixed bug #72482 (Ilegal write/read access caused by gdImageAALine overflow).
Fixed bug #72696 (imagefilltoborder stackoverflow on truecolor images).
Fixed bug #73350 (Exception::__toString() cause circular references).
Fixed bug #73329 ((Float)”Nano” == NAN).
Fixed bug #73288 (Segfault in __clone > Exception.toString > __get).
Fixed for #73240 (Write out of bounds at number_format).
Fix pthreads detection when cross-compiling (ffontaine)
Fixed bug #73337 (try/catch not working with two exceptions inside a same operation).
Fixed bug #73156 (segfault on undefined function).
Fixed bug #73163 (PHP hangs if error handler throws while accessing undef const in default value).
Fixed bug #73172 (parse error: Invalid numeric literal).
Fixed bug #73181 (parse_str() without a second argument leads to crash).
Fixed bug #73025 (Heap Buffer Overflow in virtual_popen of zend_virtual_cwd.c).
Fixed bug #73058 (crypt broken when salt is ‘too’ long).
Fixed bug #72944 (Null pointer deref in zval_delref_p).
Fixed bug #72943 (assign_dim on string doesn’t reset hval).
Fixed bug #72598 (Reference is lost after array_slice()) (Nikita)
Fixed bug #72703 (Out of bounds global memory read in BF_crypt triggered by password_verify).
Fixed bug #72813 (Segfault with __get returned by ref).
Fixed bug #72767 (PHP Segfaults when trying to expand an infinite operator).
TypeError messages for arg_info type checks will now say “must be … or null” where the parameter or return type accepts null.
Fixed bug #72857 (stream_socket_recvfrom read access violation).
Fixed bug #72663 (Create an Unexpected Object and Don’t Invoke __wakeup() in Deserialization).
Fixed bug #72681 (PHP Session Data Injection Vulnerability).
Fixed bug #72742 (memory allocator fails to realloc small block to large one).
Fixed URL rewriter. It would not rewrite ‘//example.com/’ URL unconditionally. URL rewrite target hosts whitelist is implemented.
Fixed bug #72641 (phpize (on Windows) ignores PHP_PREFIX).
Fixed bug #72683 (getmxrr broken).
Fixed bug #72629 (Caught exception assignment to variables ignores references).
Fixed bug #72594 (Calling an earlier instance of an included anonymous class fatals).
Fixed bug #72581 (previous property undefined in Exception after deserialization).
Fixed bug #72543 (Different references behavior comparing to PHP 5) (Laruence, Dmitry, Nikita)
Fixed bug #72347 (VERIFY_RETURN type casts visible in finally).
Fixed bug #72216 (Return by reference with finally is not memory safe).
Fixed bug #72215 (Wrong return value if var modified in finally).
Fixed bug #71818 (Memory leak when array altered in destructor).
Fixed bug #71539 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes) (Dmitry, Nikita)
Added new constant PHP_FD_SETSIZE.
Added optind parameter to getopt().
Added PHP to SAPI error severity mapping for logs.
Fixed bug #71911 (Unable to set –enable-debug on building extensions by phpize on Windows).
Fixed bug #29368 (The destructor is called when an exception is thrown from the constructor).
Implemented RFC: RNG Fixes.
Implemented email validation as per RFC 6531.
Fixed bug #72513 (Stack-based buffer overflow vulnerability in virtual_file_ex).
Fixed bug #72573 (HTTP_PROXY is improperly trusted by some PHP libraries and applications).
Fixed bug #72523 (dtrace issue with reflection (failed test)).
Fixed bug #72508 (strange references after recursive function call and “switch” statement).
Fixed bug #72441 (Segmentation fault: RFC list_keys).
Fixed bug #72395 (list() regression).
Fixed bug #72373 (TypeError after Generator function w/declared return type finishes).
Fixed bug #69489 (tempnam() should raise notice if falling back to temp dir).
Fixed UTF-8 and long path support on Windows.
Fixed bug #53432 (Assignment via string index access on an empty string converts to array).
Fixed bug #62210 (Exceptions can leak temporary variables).
Fixed bug #62814 (It is possible to stiffen child class members visibility).
Fixed bug #69989 (Generators don’t participate in cycle GC).
Fixed bug #70228 (Memleak if return in finally block).
Fixed bug #71266 (Missing separation of properties HT in foreach etc).
Fixed bug #71604 (Aborted Generators continue after nested finally).
Fixed bug #71572 (String offset assignment from an empty string inserts null byte).
Fixed bug #71897 (ASCII 0x7F Delete control character permitted in identifiers).
Fixed bug #72188 (Nested try/finally blocks losing return value).
Fixed bug #72213 (Finally leaks on nested exceptions).
Fixed bug #47517 (php-cgi.exe missing UAC manifest).
Change statement and fcall extension handlers to accept frame.
Number operators taking numeric strings now emit E_NOTICEs or E_WARNINGs when given malformed numeric strings.
(int), intval() where $base is 10 or unspecified, settype(), decbin(), decoct(), dechex(), integer operators and other conversions now always respect scientific notation in numeric strings.
Raise a compile-time warning on octal escape sequence overflow.
Apache2handler:
Enable per-module logging in Apache 2.4+.
BCmath:
Fix bug #73190 (memcpy negative parameter _bc_new_num_ex).
Bz2:
Fixed bug #72837 (integer overflow in bzdecompress caused heap corruption).
Fixed bug #72613 (Inadequate error handling in bzread()).
Calendar:
Fix integer overflows (Joshua Rogers)
Fixed bug #67976 (cal_days_month() fails for final month of the French calendar).
Fixed bug #71894 (AddressSanitizer: global-buffer-overflow in zif_cal_from_jd).
CLI Server:
Fixed bug #73360 (Unable to work in root with unicode chars).
Fixed bug #71276 (Built-in webserver does not send Date header).
COM:
Fixed bug #73126 (Cannot pass parameter 1 by reference).
Fixed bug #69579 (Invalid free in extension trait).
Fixed bug #72922 (COM called from PHP does not return out parameters).
Fixed bug #72569 (DOTNET/COM array parameters broke in PHP7).
Fixed bug #72498 (variant_date_from_timestamp null dereference).
Curl:
Implement support for handling HTTP/2 Server Push.
Add curl_multi_errno(), curl_share_errno() and curl_share_strerror() functions.
Fixed bug #72674 (Heap overflow in curl_escape).
Fixed bug #72541 (size_t overflow lead to heap corruption). (Stas).
Fixed bug #71709 (curl_setopt segfault with empty CURLOPT_HTTPHEADER).
Fixed bug #71929 (CURLINFO_CERTINFO data parsing error).
Date:
Fixed bug #69587 (DateInterval properties and isset).
Fixed bug #73426 (createFromFormat with ‘z’ format char results in incorrect time).
Fixed bug #45554 (Inconsistent behavior of the u format char).
Fixed bug #48225 (DateTime parser doesn’t set microseconds for “now”).
Fixed bug #52514 (microseconds are missing in DateTime class).
Fixed bug #52519 (microseconds in DateInterval are missing).
Fixed bug #60089 (DateTime::createFromFormat() U after u nukes microtime).
Fixed bug #64887 (Allow DateTime modification with subsecond items).
Fixed bug #68506 (General DateTime improvments needed for microseconds to become useful).
Fixed bug #73109 (timelib_meridian doesn’t parse dots correctly).
Fixed bug #73247 (DateTime constructor does not initialise microseconds property).
Fixed bug #73147 (Use After Free in PHP7 unserialize()).
Fixed bug #73189 (Memcpy negative size parameter php_resolve_path).
Fixed bug #66836 (DateTime::createFromFormat ‘U’ with pre 1970 dates fails parsing).
Invalid serialization data for a DateTime or DatePeriod object will now throw an instance of Error from __wakeup() or __set_state() instead of resulting in a fatal error.
Timezone initialization failure from serialized data will now throw an instance of Error from __wakeup() or __set_state() instead of resulting in a fatal error.
Export date_get_interface_ce() for extension use.
Fixed bug #63740 (strtotime seems to use both sunday and monday as start of week).
Dba:
Fixed bug #70825 (Cannot fetch multiple values with group in ini file).
Data modification functions (e.g.: dba_insert()) now throw an instance of Error instead of triggering a catchable fatal error if the key is does not contain exactly two elements.
DOM:
Fixed bug #73150 (missing NULL check in dom_document_save_html).
Fixed bug #66502 (DOM document dangling reference).
Invalid schema or RelaxNG validation contexts will throw an instance of Error instead of resulting in a fatal error.
Attempting to register a node class that does not extend the appropriate base class will now throw an instance of Error instead of resulting in a fatal error.
Attempting to read an invalid or write to a readonly property will throw an instance of Error instead of resulting in a fatal error.
DTrace:
Disabled PHP call tracing by default (it makes significant overhead). This may be enabled again using envirionment variable USE_ZEND_DTRACE=1.
EXIF:
Fixed bug #72735 (Samsung picture thumb not read (zero size)).
Fixed bug #72627 (Memory Leakage In exif_process_IFD_in_TIFF).
Fixed bug #72603 (Out of bound read in exif_process_IFD_in_MAKERNOTE).
Fixed bug #72618 (NULL Pointer Dereference in exif_process_user_comment).
Filter:
Fixed bug #72972 (Bad filter for the flags FILTER_FLAG_NO_RES_RANGE and FILTER_FLAG_NO_PRIV_RANGE).
Fixed bug #73054 (default option ignored when object passed to int filter).
Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 range).
FPM:
Fixed bug #72575 (using –allow-to-run-as-root should ignore missing user).
FTP:
Fixed bug #70195 (Cannot upload file using ftp_put to FTPES with require_ssl_reuse).
Implemented FR #55651 (Option to ignore the returned FTP PASV address).
GD:
Fixed bug #73213 (Integer overflow in imageline() with antialiasing).
Fixed bug #73272 (imagescale() is not affected by, but affects imagesetinterpolation()).
Fixed bug #73279 (Integer overflow in gdImageScaleBilinearPalette()).
Fixed bug #73280 (Stack Buffer Overflow in GD dynamicGetbuf).
Fixed bug #50194 (imagettftext broken on transparent background w/o alphablending).
Fixed bug #73003 (Integer Overflow in gdImageWebpCtx of gd_webp.c).
Fixed bug #53504 (imagettfbbox gives incorrect values for bounding box).
Fixed bug #73157 (imagegd2() ignores 3rd param if 4 are given).
Fixed bug #73155 (imagegd2() writes wrong chunk sizes on boundaries).
Fixed bug #73159 (imagegd2(): unrecognized formats may result in corrupted files).
Fixed bug #73161 (imagecreatefromgd2() may leak memory).
Fixed bug #67325 (imagetruecolortopalette: white is duplicated in palette).
Fixed bug #66005 (imagecopy does not support 1bit transparency on truecolor images).
Fixed bug #72913 (imagecopy() loses single-color transparency on palette images).
Fixed bug #68716 (possible resource leaks in _php_image_convert()).
Fixed bug #72709 (imagesetstyle() causes OOB read for empty $styles).
Fixed bug #72697 (select_colors write out-of-bounds).
Fixed bug #72730 (imagegammacorrect allows arbitrary write access).
Fixed bug #72596 (imagetypes function won’t advertise WEBP support).
Fixed bug #72604 (imagearc() ignores thickness for full arcs).
Fixed bug #70315 (500 Server Error but page is fully rendered).
Fixed bug #43828 (broken transparency of imagearc for truecolor in blendingmode).
Fixed bug #72512 (gdImageTrueColorToPaletteBody allows arbitrary write/read access).
Fixed bug #72519 (imagegif/output out-of-bounds access).
Fixed bug #72558 (Integer overflow error within _gdContributionsAlloc()).
Fixed bug #72482 (Ilegal write/read access caused by gdImageAALine overflow).
Fixed bug #72494 (imagecropauto out-of-bounds access).
Fixed bug #72404 (imagecreatefromjpeg fails on selfie).
Fixed bug #43475 (Thick styled lines have scrambled patterns).
Fixed bug #53640 (XBM images require width to be multiple of 8).
Fixed bug #64641 (imagefilledpolygon doesn’t draw horizontal line).
Hash:
Added SHA3 fixed mode algorithms (224, 256, 384, and 512 bit).
Added SHA512/256 and SHA512/224 algorithms.
iconv:
Fixed bug #72320 (iconv_substr returns false for empty strings).
IMAP:
Fixed bug #73418 (Integer Overflow in “_php_imap_mail” leads to crash).
An email address longer than 16385 bytes will throw an instance of Error instead of resulting in a fatal error.
Interbase:
Fixed bug #73512 (Fails to find firebird headers as don’t use fb_config output).
Intl:
Fixed bug #73007 (add locale length check).
Fixed bug #73218 (add mitigation for ICU int overflow).
Fixed bug #65732 (grapheme_*() is not Unicode compliant on CR LF sequence).
Fixed bug #73007 (add locale length check).
Fixed bug #72639 (Segfault when instantiating class that extends IntlCalendar and adds a property).
Fixed bug #72658 (Locale::lookup() / locale_lookup() hangs if no match found).
Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain names).
Fixed bug #72533 (locale_accept_from_http out-of-bounds access).
Failure to call the parent constructor in a class extending Collator before invoking the parent methods will throw an instance of Error instead of resulting in a recoverable fatal error.
Cloning a Transliterator object may will now throw an instance of Error instead of resulting in a fatal error if cloning the internal transliterator fails.
Added IntlTimeZone::getWindowsID() and IntlTimeZone::getIDForWindowsID().
Fixed bug #69374 (IntlDateFormatter formatObject returns wrong utf8 value).
Fixed bug #69398 (IntlDateFormatter formatObject returns wrong value when time style is NONE).
JSON:
Introduced encoder struct instead of global which fixes bugs #66025 and #73254 related to pretty print indentation.
Fixed bug #73113 (Segfault with throwing JsonSerializable).
Implemented earlier return when json_encode fails, fixes bugs #68992 (Stacking exceptions thrown by JsonSerializable) and #70275 (On recursion error, json_encode can eat up all system memory).
Implemented FR #46600 (“_empty_” key in objects).
Exported JSON parser API including json_parser_method that can be used for implementing custom logic when parsing JSON.
Escaped U+2028 and U+2029 when JSON_UNESCAPED_UNICODE is supplied as json_encode options and added JSON_UNESCAPED_LINE_TERMINATORS to restore the previous behaviour.
LDAP:
Providing an unknown modification type to ldap_batch_modify() will now throw an instance of Error instead of resulting in a fatal error.
Mbstring:
Fixed bug #73532 (Null pointer dereference in mb_eregi).
Fixed bug #66964 (mb_convert_variables() cannot detect recursion) (Yasuo)
Fixed bug #72992 (mbstring.internal_encoding doesn’t inherit default_charset).
Fixed bug #66797 (mb_substr only takes 32-bit signed integer).
Fixed bug #72711 (`mb_ereg` does not clear the `$regs` parameter on failure).
Fixed bug #72691 (mb_ereg_search raises a warning if a match zero-width).
Fixed bug #72693 (mb_ereg_search increments search position when a match zero-width).
Fixed bug #72694 (mb_ereg_search_setpos does not accept a string’s last position).
Fixed bug #72710 (`mb_ereg` causes buffer overflow on regexp compile error).
Deprecated mb_ereg_replace() eval option.
Fixed bug #69151 (mb_ereg should reject ill-formed byte sequence).
Fixed bug #72405 (mb_ereg_replace – mbc_to_code (oniguruma) – oob read access).
Fixed bug #72399 (Use-After-Free in MBString (search_re)).
mb_ereg() and mb_eregi() will now throw an instance of ParseError if an invalid PHP expression is provided and the ‘e’ option is used.
Mcrypt:
Deprecated ext/mcrypt.
Fixed bug #72782 (Heap Overflow due to integer overflows).
Fixed bug #72551, bug #72552 (In correct casting from size_t to int lead to heap overflow in mdecrypt_generic).
mcrypt_encrypt() and mcrypt_decrypt() will throw an instance of Error instead of resulting in a fatal error if mcrypt cannot be initialized.
Mysqli:
Attempting to read an invalid or write to a readonly property will throw an instance of Error instead of resulting in a fatal error.
Mysqlnd:
Fixed bug #64526 (Add missing mysqlnd.* parameters to php.ini-*).
Fixed bug #71863 (Segfault when EXPLAIN with “Unknown column” error when using MariaDB).
Fixed bug #72701 (mysqli_get_host_info() wrong output).
OCI8:
Fixed bug #71148 (Bind reference overwritten on PHP 7).
Fixed invalid handle error with Implicit Result Sets.
Fixed bug #72524 (Binding null values triggers ORA-24816 error).
ODBC:
Fixed bug #73448 (odbc_errormsg returns trash, always 513 bytes).
Opcache:
Fixed bug #73583 (Segfaults when conditionally declared class and function have the same name).
Fixed bug #69090 (check cached files permissions)
Fixed bug #72982 (Memory leak in zend_accel_blacklist_update_regexp() function).
Fixed bug #72949 (Typo in opcache error message).
Fixed bug #72762 (Infinite loop while parsing a file with opcache enabled).
Fixed bug #72590 (Opcache restart with kill_all_lockers does not work).
OpenSSL:
Fixed bug #73478 (openssl_pkey_new() generates wrong pub/priv keys with Diffie Hellman).
Fixed bug #73276 (crash in openssl_random_pseudo_bytes function).
Fixed bug #73072 (Invalid path SNI_server_certs causes segfault).
Fixed bug #72360 (ext/openssl build failure with OpenSSL 1.1.0).
Bumped a minimal version to 1.0.1.
Dropped support for SSL2.
Implemented FR #61204 (Add elliptic curve support for OpenSSL).
Implemented FR #67304 (Added AEAD support [CCM and GCM modes] to openssl_encrypt and openssl_decrypt).
Implemented error storing to the global queue and cleaning up the OpenSSL error queue (resolves bugs #68276 and #69882).
Pcntl:
Implemented asynchronous signal handling without TICKS.
Added pcntl_signal_get_handler() that returns the current signal handler for a particular signal. Addresses FR #72409.
Add signinfo to pcntl_signal() handler args (Bishop Bettini, David Walker)
PCRE:
Fixed bug #73483 (Segmentation fault on pcre_replace_callback).
Fixed bug #73612 (preg_*() may leak memory).
Fixed bug #73392 (A use-after-free in zend allocator management).
Fixed bug #73121 (Bundled PCRE doesn’t compile because JIT isn’t supported on s390).
Fixed bug #72688 (preg_match missing group names in matches).
Downgraded to PCRE 8.38.
Fixed bug #72476 (Memleak in jit_stack).
Fixed bug #72463 (mail fails with invalid argument).
Upgraded to PCRE 8.39.
PDO:
Fixed bug #72788 (Invalid memory access when using persistent PDO connection).
Fixed bug #72791 (Memory leak in PDO persistent connection handling).
Fixed bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY returns false).
PDO_DBlib:
Fixed bug #72414 (Never quote values as raw binary data).
Allow \PDO::setAttribute() to set query timeouts.
Handle SQLDECIMAL/SQLNUMERIC types, which are used by later TDS versions.
Add common PDO test suite.
Free error and message strings when cleaning up PDO instances.
Fixed bug #67130 (\PDOStatement::nextRowset() should succeed when all rows in current rowset haven’t been fetched).
Ignore potentially misleading dberr values.
Implemented stringify ‘uniqueidentifier’ fields.
PDO_Firebird:
Fixed bug #73087, #61183, #71494 (Memory corruption in bindParam).
Fixed bug #60052 (Integer returned as a 64bit integer on X86_64).
PDO_pgsql:
Fixed bug #70313 (PDO statement fails to throw exception).
Fixed bug #72570 (Segmentation fault when binding parameters on a query without placeholders).
Implemented FR #72633 (Postgres PDO lastInsertId() should work without specifying a sequence).
Phar:
Fixed bug #72928 (Out of bound when verify signature of zip phar in phar_parse_zipfile).
Fixed bug #73035 (Out of bound when verify signature of tar phar in phar_parse_tarfile).
phpdbg:
Added generator command for inspection of currently alive generators.
Postgres:
Fixed bug #73498 (Incorrect SQL generated for pg_copy_to()).
Implemented FR #31021 (pg_last_notice() is needed to get all notice messages).
Implemented FR #48532 (Allow pg_fetch_all() to index numerically).
Readline:
Fixed bug #72538 (readline_redisplay crashes php).
Reflection:
Undo backwards compatiblity break in ReflectionType->__toString() and deprecate via documentation instead.
Reverted prepending \ for class names.
Implemented request #38992 (invoke() and invokeArgs() static method calls should match). (cmb).
Add ReflectionNamedType::getName(). This method should be used instead of ReflectionType::__toString()
Prepend \ for class names and ? for nullable types returned from ReflectionType::__toString().
Fixed bug #72661 (ReflectionType::__toString crashes with iterable).
Fixed bug #72222 (ReflectionClass::export doesn’t handle array constants).
Failure to retrieve a reflection object or retrieve an object property will now throw an instance of Error instead of resulting in a fatal error.
Fix #72209 (ReflectionProperty::getValue() doesn’t fail if object doesn’t match type).
Session:
Fixed bug #73273 (session_unset() empties values from all variables in which is $_session stored).
Fixed bug #73100 (session_destroy null dereference in ps_files_path_create).
Fixed bug #68015 (Session does not report invalid uid for files save handler).
Fixed bug #72940 (SID always return “name=ID”, even if session cookie exist).
Implemented session_gc() (Yasuo) https://wiki.php.net/rfc/session-create-id
Implemented session_create_id() (Yasuo) https://wiki.php.net/rfc/session-gc
Implemented RFC: Session ID without hashing. (Yasuo) https://wiki.php.net/rfc/session-id-without-hashing
Fixed bug #72531 (ps_files_cleanup_dir Buffer overflow).
Custom session handlers that do not return strings for session IDs will now throw an instance of Error instead of resulting in a fatal error when a function is called that must generate a session ID.
An invalid setting for session.hash_function will throw an instance of Error instead of resulting in a fatal error when a session ID is created.
Fixed bug #72562 (Use After Free in unserialize() with Unexpected Session Deserialization).
Improved fix for bug #68063 (Empty session IDs do still start sessions).
Fixed bug #71038 (session_start() returns TRUE on failure). Session save handlers must return ‘string’ always for successful read. i.e. Non-existing session read must return empty string. PHP 7.0 is made not to tolerate buggy return value.
Fixed bug #71394 (session_regenerate_id() must close opened session on errors).
SimpleXML:
Fixed bug #73293 (NULL pointer dereference in SimpleXMLElement::asXML()).
Fixed bug #72971 (SimpleXML isset/unset do not respect namespace).
Fixed bug #72957 (Null coalescing operator doesn’t behave as expected with SimpleXMLElement).
Fixed bug #72588 (Using global var doesn’t work while accessing SimpleXML element).
Creating an unnamed or duplicate attribute will throw an instance of Error instead of resulting in a fatal error.
SNMP:
Fixed bug #72708 (php_snmp_parse_oid integer overflow in memory allocation).
Fixed bug #72479 (Use After Free Vulnerability in SNMP with GC and unserialize()).
Soap:
Fixed bug #73538 (SoapClient::__setSoapHeaders doesn’t overwrite SOAP headers).
Fixed bug #73452 (Segfault (Regression for #69152)).
Fixed bug #73037 (SoapServer reports Bad Request when gzipped).
Fixed bug #73237 (Nested object in “any” element overwrites other fields).
Fixed bug #69137 (Peer verification fails when using a proxy with SoapClient) (Keith Smiley)
Fixed bug #71711 (Soap Server Member variables reference bug).
Fixed bug #71996 (Using references in arrays doesn’t work like expected).
SPL:
Fixed bug #73423 (Reproducible crash with GDB backtrace).
Fixed bug #72888 (Segfault on clone on splFileObject).
Fixed bug #73029 (Missing type check when unserializing SplArray).
Fixed bug #72646 (SplFileObject::getCsvControl does not return the escape character).
Fixed bug #72684 (AppendIterator segfault with closed generator).
Attempting to clone an SplDirectory object will throw an instance of Error instead of resulting in a fatal error.
Calling ArrayIterator::append() when iterating over an object will throw an instance of Error instead of resulting in a fatal error.
Fixed bug #55701 (GlobIterator throws LogicException).
SQLite3:
Update to SQLite 3.15.1.
Fixed bug #73530 (Unsetting result set may reset other result set).
Fixed bug #73333 (2147483647 is fetched as string).
Fixed bug #72668 (Spurious warning when exception is thrown in user defined function).
Implemented FR #72653 (SQLite should allow opening with empty filename).
Fixed bug #70628 (Clearing bindings on an SQLite3 statement doesn’t work).
Implemented FR #71159 (Upgraded bundled SQLite lib to 3.9.2).
Standard:
Fixed bug #73297 (HTTP stream wrapper should ignore HTTP 100 Continue).
Fixed bug #73303 (Scope not inherited by eval in assert()).
Fixed bug #73192 (parse_url return wrong hostname).
Fixed bug #73203 (passing additional_parameters causes mail to fail).
Fixed bug #73203 (passing additional_parameters causes mail to fail).
Fixed bug #72920 (Accessing a private constant using constant() creates an exception AND warning).
Fixed bug #65550 (get_browser() incorrectly parses entries with “+” sign).
Fixed bug #71882 (Negative ftruncate() on php://memory exhausts memory).
Fixed bug #55451 (substr_compare NULL length interpreted as 0).
Fixed bug #72278 (getimagesize returning FALSE on valid jpg).
Fixed bug #61967 (unset array item in array_walk_recursive cause inconsistent array).
Fixed bug #62607 (array_walk_recursive move internal pointer).
Fixed bug #69068 (Exchanging array during array_walk -> memory errors).
Fixed bug #70713 (Use After Free Vulnerability in array_walk()/ array_walk_recursive()).
Fixed bug #72622 (array_walk + array_replace_recursive create references from nothing).
Fixed bug #72330 (CSV fields incorrectly split if escape char followed by UTF chars).
Implemented RFC: More precise float values.
array_multisort now uses zend_sort instead zend_qsort.
Fixed bug #72505 (readfile() mangles files larger than 2G).
assert() will throw a ParseError when evaluating a string given as the first argument if the PHP code is invalid instead of resulting in a catchable fatal error.
Calling forward_static_call() outside of a class scope will now throw an instance of Error instead of resulting in a fatal error.
Added is_iterable() function.
Fixed bug #72306 (Heap overflow through proc_open and $env parameter).
Fixed bug #71100 (long2ip() doesn’t accept integers in strict mode).
Implemented FR #55716 (Add an option to pass a custom stream context to get_headers()).
Additional validation for parse_url() for login/pass components).
Implemented FR #69359 (Provide a way to fetch the current environment variables).
unpack() function accepts an additional optional argument $offset.
Implemented #51879 stream context socket option tcp_nodelay (Joe)
Streams:
Fixed bug #73586 (php_user_filter::$stream is not set to the stream the filter is working on).
Fixed bug #72853 (stream_set_blocking doesn’t work).
Fixed bug #72743 (Out-of-bound read in php_stream_filter_create).
Implemented FR #27814 (Multiple small packets send for HTTP request).
Fixed bug #72764 (ftps:// opendir wrapper data channel encryption fails with IIS FTP 7.5, 8.5).
Fixed bug #72810 (Missing SKIP_ONLINE_TESTS checks).
Fixed bug #41021 (Problems with the ftps wrapper).
Fixed bug #54431 (opendir() does not work with ftps:// wrapper).
Fixed bug #72667 (opendir() with ftp:// attempts to open data stream for non-existent directories).
Fixed bug #72771 (ftps:// wrapper is vulnerable to protocol downgrade attack).
Fixed bug #72534 (stream_socket_get_name crashes).
Fixed bug #72439 (Stream socket with remote address leads to a segmentation fault).
sysvshm:
Fixed bug #72858 (shm_attach null dereference).
Tidy:
Implemented support for libtidy 5.0.0 and above.
Creating a tidyNode manually will now throw an instance of Error instead of resulting in a fatal error.
Wddx:
Fixed bug #73331 (NULL Pointer Dereference in WDDX Packet Deserialization with PDORow).
Fixed bug #72142 (WDDX Packet Injection Vulnerability in wddx_serialize_value()).
Fixed bug #72749 (wddx_deserialize allows illegal memory access) (Stas)
Fixed bug #72750 (wddx_deserialize null dereference).
Fixed bug #72790 (wddx_deserialize null dereference with invalid xml).
Fixed bug #72799 (wddx_deserialize null dereference in php_wddx_pop_element).
Fixed bug #72860 (wddx_deserialize use-after-free).
Fixed bug #73065 (Out-Of-Bounds Read in php_wddx_push_element).
Fixed bug #72564 (boolean always deserialized as “true”) (Remi)
A circular reference when serializing will now throw an instance of Error instead of resulting in a fatal error.
XML:
Fixed bug #72135 (malformed XML causes fault) (edgarsandi)
Fixed bug #72714 (_xml_startElementHandler() segmentation fault).
Fixed bug #72085 (SEGV on unknown address zif_xml_parse).
XMLRPC:
Fixed bug #72647 (xmlrpc_encode() unexpected output after referencing array elements).
Fixed bug #72606 (heap-buffer-overflow (write) simplestring_addn simplestring.c).
A circular reference when serializing will now throw an instance of Error instead of resulting in a fatal error.
Zip:
Fixed bug #68302 (impossible to compile php with zip support).
Fixed bug #72660 (NULL Pointer dereference in zend_virtual_cwd).
Fixed bug #72520 (Stack-based buffer overflow vulnerability in php_stream_zip_opener).
ZipArchive::addGlob() will throw an instance of Error instead of resulting in a fatal error if glob support is not available

آموزش ادامه دانلود یا آپلود در فایل زیلا بعد از قطع شدن

ممکن است برای شما پیش آمده باشد که در هنگام دریافت و یا بارگزاری فایل با نرم افزار FTP فایل زیلا اینترنت شما قطع شود

آموزش ادامه دانلود یا آپلود در فایل زیلا بعد از قطع شدن
آموزش ادامه دانلود یا آپلود در فایل زیلا بعد از قطع شدن

در آموزشی که در ادامه فرا میگیرید نحوه از سرگیری ادامه دانلود یا اپلود فایل گفته شده است

* مرحله 1 :

filezilla
filezilla

* مرحله 2 :

file zilla
file zilla

* مرحله 3:

فایل زیلا
فایل زیلا

* مرحله 4 :

فایلزیلا
فایلزیلا

* مرحله 5:

دانلود یا آپلود در فایل زیلا
دانلود یا آپلود در فایل زیلا

* مرحله 6 :

دانلود در فایل زیلا
دانلود در فایل زیلا

* مرحله 7 :

آپلود در فایل زیلا
آپلود در فایل زیلا

رفع خطا kernel panic-not syncing attempted to kill init

رفع خطا kernel panic-not syncing attempted to kill init

رفع خطای Fixing Kernel panic
رفع خطای Fixing Kernel panic

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

خطایی که شما در این پست نحوه رفع اون رو آموزش میبینید ممکن است در سرور الستیکس یا هر سرور دیگه ای که دارای هسته لینوکسی باشه نمایش داده بشه. این خطا مربوط به زمانی است که هسته لینوکسی سرور شما قادر به لود کردن SELinux نیست و شما در زمان بوت شدن سیستم خطای Fixing Kernel panic – not syncing: Attempted to kill init را مشاهده میکنید مانند تصویر زیر:

آموزش رفع خطای Fixing Kernel panic
آموزش رفع خطای Fixing Kernel panic

برای رفع این مشکل در ابتدا سیستم را ریست کرده و دکه Esc را فشار دهید.

نحوه رفع خطای Fixing Kernel panic
نحوه رفع خطای Fixing Kernel panic

پس از زدن دکمه Esc محیطی مانند تصویر زیر برای شما نمایش داده شود.

 

رفع Fixing Kernel panic
رفع Fixing Kernel panic

روی گزینه ۳۴۸٫۱۸٫۱٫e15 دکمه e را زده

 

خطای Fixing Kernel panic
خطای Fixing Kernel panic

حال مانند تصویر زیر کامند selinux=0 enforcing=0 را وارد کنید.

Fixing Kernel panic
Fixing Kernel panic

سپس سیستم را ریست کنید تا اینبار سیستم شما به صورت کامل لود شود.

تنظیمات نرم افزار CuteFTP

نرم افزار CuteFTP یکی از نرم افزارهای کاربردی برای آپلود یا بارگذاری فایلها روی هاست می باشد.

آموزش تنظیمات نرم افزار CuteFTP
آموزش تنظیمات نرم افزار CuteFTP

در این نرم افزار شما با استفاده از پروتکل ftp می توانید انتقال اطلاعات را انجام دهید ، پیشنهاد ما برای آپلود فایلهای حجیم استفاده ازین نرم افزار هست.

تنظیمات نرم افزار CuteFTP
تنظیمات نرم افزار CuteFTP

cuteftp_1

نرم افزار CuteFTP دارای 5 قسمت اصلی است.
1- پنجره Local drives: فایل های موجود در هارد دیسک کامپیوتر کاربر را نشان می دهد.
2- پنجره Site Manager : اطلاعات سایت شما در FTP هایی که ساخته اید وجود دارد.
3- پنجره Remote : فایل های موجود در Host شما را نشان می دهد.
4- پنجره Log : وضعیت ارتباطات و کانکت بودن به هاست را نشان می دهد.
5- پنجره Queue : وضعیت فایل های آپلود و دانلود شده را نشان می دهد.

برای اتصال به ftp باید در بخش Host ادرس دامنه و یا ای پی سرور خود را وارد کنید.

در بخش یوزر و پسورد نیز نام کاربری و پسورد ftp را وارد کنید . در قسمت پورت نیز پورت 21 را وارد کنید.

همچنین برای ساخت یک FTP Site جدید از منوی File سپس New و بعد از آن FTP Sites را انتخاب می کنیم .

در پنجره ی باز شده باید اطلاعات مربوط به اکانت ftp خود را وارد کنید:

Label : در این فیلد نام FTP Site خود را وارد کنید.
Host Address : در این قسمت آدرس دامین یا آدرس FTP و یا آدرس IP سروری که سایت شما روی ان میزبانی می شود را وارد کنید.
Username : نام کاربری ادرس ftp که ساخته اید را وارد کنید.
Password : پسورد یوزر مورد نظر
Login Method : باید گزینه ی Normal را انتخاب کنید.

در تب Type به تنظیماتی که به صورت پیش فرض در نظر گرفته شده دست نزنید.

نکته ای در این جا وجود دارد که در قسمت Server Type حتما گزینه ی Auto Detect انتخاب شده باشد ، در غیر این صورت هنگام آپلود فایل های مختلف به مشکل بر می خوردید.

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