سلام خدمت دوستان و همراهان همیشگی
در این پست قصد دارم توضیحاتی پیرامون این که چطور
ویتایگر را
ازچندینآدرس مختلف ب
از کنیم ارائه کنم
بعضی وقت ها شما نی
از پیدا می کنید که بتوانید
ویتایگر را
ازآدرس دیگری نیز ب
از کنید این مورد زمانی اهمیت پیدا می کند که
به عنوان مثال بخواهید
به ویتایگراز پشت NAT متصل شوید
به عنوان مثال
ویتایگر را در یک شبکه محلی ولوکال نصب کرده اید و مثلا با آی پی 192.168.1.100 ب
از میکنید حال برای مودم آی پی استاتیک تهیه می کنید و درخواست های روی پورت 80 را
به آی پی 192.168.1.100 که سی آر ام است انتقال می دهید تصور کنید آی پی استاتیک در این مورد
به مثلا 216.58.211.46 هست.
یا در یک مثال دیگه
از
طریق کنترل پنل هاستینگ خودتون یک دامنه جدید روی دامین اصلی پارک می کنید
مثلا demo.vtiger.ir رو دامنه demo.parsvtiger.com پارک شده است و
در حقیقت محتوای همان دامنه اصلی را نمایش میدهند.
تا اینجا انجام تنظیمات مشکلی ایجاد نمی کند. اما وقنی
ویتایگر را ب
از می کنید دچار مشکل می شوید.
در نسخه های قبل
از 6.5 شما می توانید با
آدرس های جدید نرم افزار سی آر ام را ب
از کنید اما زمان تغییر دادن صفحات با خطای "
دسترسی غیر مج
از" یا "Illegal request" مواجه می شوید و در نسخه 6.5 شما
بهآدرس صفحه ای که در نصب
از آن استفاده کرده اید منتقل (redirect) می شوید که ممکن است روی شبکه اینترنت قابل
دسترسی نباشد و یا شما نخواهید کاربران
از وجود
آدرس اول مطلع شوند.
برای
بهبود امنیت vtiger
از نسخه 6
به بعد روش اعتبارسنجی جدیدی برای جلوگیری
ازدسترسی کانکشن های HTTP
از راه دور
به CRM اضافه شده است. این متد اعتبار سنجی، یک سطح
حفاظتی امنیتی CSRF به سیستم اضافه می کند باعث میشود خیلی
از اوقات کاربران خطای "
دسترسی غیر مج
از" یا "Illegal request" را مشاهده کنند.
کد:
{“success”:false,”error”:{“code”:”Illegal request”,”message”:”Illegal request”}}
برای حل این مشکل چندین راه حل وجود دارد:
راه حل اول (توصیه می شود):
بروز رسانی فایل config.inc.php و تغییر متغیر $site_URL به صورت زیر
کد پیاچپی:
$site_URL = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']==='on' ? 'https': 'http')."://".$_SERVER['HTTP_HOST'].(dirname($_SERVER['PHP_SELF']) != '/' ? dirname($_SERVER['PHP_SELF']) : '').'/';
راه حل دوم (توصیه نمی شود):
حذف متد CSRF ازویتایگر
بروز رسانی فایل WebUI.php از مسیر includes/main:
عبارت های زیر را جستجو و به شرح زیر تغییر دهید:
عبارت
کد پیاچپی:
...
require_once 'libraries/csrf-magic/csrf-magic.php';
....
تغییر به
کد پیاچپی:
...
//require_once 'libraries/csrf-magic/csrf-magic.php';
....
در صورتی که ازویتایگر 6.5 استفاده کنید
عبارت:
کد پیاچپی:
// Check we are being connected to on the right host and protocol
global $site_URL;$request_URL = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']==='on')? 'https': 'http')."://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; if ($site_URL && stripos($request_URL, $site_URL) !== 0){ header("Location: $site_URL",TRUE,301); exit; }
به
کد پیاچپی:
/*
// Check we are being connected to on the right host and protocol
global $site_URL;
$request_URL = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']==='on')? 'https': 'http')."://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
if ($site_URL && stripos($request_URL, $site_URL) !== 0){
header("Location: $site_URL",TRUE,301);
exit;
}
*/
راه حل سوم (توصیه می شود):
اضافه کردن لیستی ازآدرس های مجاز در فایل config.inc.php و تغییر متغیر $site_URL به عنوان مثال
کد پیاچپی:
if ($_SERVER['HTTP_HOST'] == '216.58.211.46') {
$site_URL = 'http://216.58.211.46/vtigercrm6/';
} else {
$site_URL = 'http://192.168.1.100/vtigercrm6/';
}
سلام ممنون از سایت خوب و زحمات روز افزون شما دوست عزیز.موفق و موید باشید.
سلام، خواهش میکنم ، همچنین