حتما تا امروز متوجه شده اید که وردپرس به صورت پیشفرض، IP افرادی را که دیدگاه خود را در وبسایت یا وبلاگ وردپرسی شما درج میکنند، در دیتابیس ذخیره کرده و آن را در بخش دیدگاه ها برای شما به نمایش میگذارد. ذخیره کردن آی پی نظر دهنده، هرچند میتواند در جلوگیری از ارسال اسپم توسط افزونه هایی مثل Akismet مفید باشد ولی شاید از دید شما و شخصی که نظر را در وبسایت شما درج میکند، چندان هم جالب نباشد.
در مورد دلیل این مسئله میتوانیم به این نکات اکتفا کنیم که اولا اگر شما واقعا به آی پی شخصی که وبسایت شما را مورد دسترسی قرار داده، نیاز داشته باشید، خوب همیشه میتوانید از لاگ های درج شده در هاستتان که بدون وقفه در حال ثبت این اطلاعات هستند استفاده کنید و دوما ثبت آی پی و نمایش آن به طور کامل، نکته ای است که منجر به عدم حفظ حریم خصوصی و شخصی افراد شده و به همین جهت میتواند برخی افراد را از درج نظر در وبسایت شما باز دارد. (الان دارید تاکید میکنید که اگر کسی ریگی به کفشش نباشد و از این حرف ها! :دی) در این رابطه به همین نکته بسنده میکنیم که سرویس های آمار و آنالیز حرفه ای و حتی سرویس های پشتیبانی آنلاین هم جدیدا سعی در رعایت همین مسئله و حفظ حریم خصوصی افراد دارند. و اما سوما، در وبسایتی با تعداد نظرات بالا، هرچقدر فضای کمتر و مختصر تری از دیتابیس استفاده کنید این مسئله به نفع شماست.
البته این تفاوت در اندازه در واقع اصلا قابل توجه نیست و به چشم هم نمی آید ولی خوب مبحثی است که میتوان تا حدی به آن فکر کرد. به هر حال از مزایا و معایب این مسئله که بگذریم، اگر شما از آن دسته افرادی هستید که مایلید از ذخیره شدن آی پی کاربران در بخش دیدگاه های وردپرس جلوگیری کنید، فری اسکریپت خواندن ادامه این مطلب را به شما توصیه میکند.
روش اول : جلوگیری از ذخیره IP در دیدگاه ها با استفاده از افزونه Remove IP
در این روش کافی است افزونه ی Remove IP را بر روی سایت خود نصب و فعال کنید.
پس از فعالسازی افزونه، بلافاصله ذخیره شدن آی پی کاربران در بخش دیدگاه ها متوقف خواهد شد و بجای آی پی واقعی کاربران، آی پی ۱۲۷٫۰٫۰٫۱ در بخش دیدگاه ها به شما نمای داده خواهد شد.
لازم است توجه داشته باشید که استفاده از این افزونه تنها بر روی دیدگاه هایی که پس از نصب این افزونه در سایت شما درج شوند تاثیر میگذارد و پس از نصب و فعالسازی افزونه، کماکان در دیدگاه های قدیمی تر شاهد نمایش آی پی واقعی کاربران خواهید بود. در بخش نهایی این آموزش، نحوه ی پاک کردن IP هایی که از قبل در سایتتان ذخیره شده اند را نیز به شما آموزش خواهیم داد.
روش دوم : جلوگیری از ذخیره IP ها در بخش نظرات به صورت دستی
در این روش کد مورد نیاز جهت جلوگیری از ذخیره آی پی ها را به صورت دستی وارد فایل functions.php یا افزونه ی Site-specific ای که قبلا ایجاد کرده ایم قرار میدهیم :
1 2 3 4 |
function freeS_remove_commentsip( $comment_author_ip ) { return ''; } add_filter( 'pre_comment_user_ip', 'freeS_remove_commentsip' ); |
در این روش بجای نمایش مقدار ۱۲۷٫۰٫۰٫۱ بجای آی پی اصلی کاربر، اصلا چیزی نمایش داده نخواهد شد.
از هر یک از دو روش بالا که استفاده کنید، در نهایت آی پی هایی که از قبل در سایتتان ذخیره شده اند، پاک نخواهند شد و لازم است که پاک کردن آنها را خودتان به صورت دستی انجام دهید.
از آنجایی که برای انجام این کار لازم است که از طریق phpMyAdmin یک کوئری روی دیتابیس سایت ایجاد کنیم، بنابراین پیش از انجام هر کار دیگری، ابتدای یک بکاپ کامل از سایت خود و یک خروجی از دیتابیستان تهیه کرده و در محل امنی ذخیره کنید و سپس این آموزش را ادامه دهید تا در صورت بروز هرگونه مشکل، امکانی بازگشت به حالت قبل برای شما میسر باشد.
بعد از ایجاد بکاپ، از طریق هاست خود به phpMyAdmin مراجعه کرده و به تب SQL بروید.
حالا در باکس نوشتاری مربوط به کوئری، دستور زیر را وارد کنید:
1 |
UPDATE 'wp_comments' SET 'comment_author_IP' = ''; |
توجه داشته باشید که در کد بالا، عبارت wp_comments ممکن است بر اساس پیشوند جداول دیتابیس شما نام متفاوتی داشته باشد. بنابراین عبارت wp_ را با پیشوند صحیح جداول خود جایگزین نمایید و سپس کوئری را اجرا کنید تا آی پی های ذخیره شده در دیتابیس حذف شوند.
در پایان مجددا تاکید میکنیم که در ایجاد بکاپ پیش از انجام هر کاری، کوتاهی نکنید تا در طول اجرای آموزش ها، در صورت بروز مشکل، امکان برطرف کردن آن برای شما میسر باشد.