PDA

View Full Version : ایجاد سرور مونگو با یوزر و پسورد خاص !



M.CLONER
سه شنبه 28 مرداد 1393, 13:07 عصر
سلام
من از php drive استفاده میکنم و چند تا سوال داشتم :
میخواستم بدونم چطور میشه مونگو رو طوری تنظیم کرد که فقط با یوزر و پسور خاصی وصل بشه!!

مثلا اگر فرض کنیم که با این مشخصات به دیتابیس وصل میشیم :


$db = new Mongo("mongodb://localhost:20000");



میخواستم بدونم چطور میشه روی مونگو رمز گذاشت و از وصل شدن به دیتابیس با دستور بالا جلوگیری کرد و برای ارتباط نیاز به یوز و پسورد باشه مثلا این چنین ؛
ساخت یوزر :

$db = new Mongo("mongodb://localhost:20000");
$db = $db->selectDB("admin");

$username = "testUser";
$password = "testPassword";


$collection = $db->selectCollection("system.users");
$collection->insert(array('user' => $username, 'pwd' => md5($username . ":mongo:" . $password), 'readOnly' => false));


وصل شدن با یوزر ساخته شده :

$db = new Mongo('mongodb://testUser:testPassword@example.com:20000');



و اینکه اگه بخوام سایر یوزر هایی که بصورت دیفایلت در مونگو وجود داره را پاک کنم...از کجا باید اقدام کرد ؟!؟ (لطفا به زبان php)
و اینکه ممنون میشم چند راهکار برای افزایش امنیت مونگو ارائه بدید...

مثلا :
1- تغییر port دیفایلت مونگو دی بی
2- استفاده از (int) و (string) در ورودی ها برای جلوگیری از اینجکت
3- تغییر رمز سرور مونگو ( البته همون طور که در بالا گفتم اینو خودمم بلد نیستم) !!
4- بیرون بردن فایل های مربوط به دیتابیس از root
5.... شما بگید !!!!

سپاس....

M.CLONER
چهارشنبه 29 مرداد 1393, 16:28 عصر
کسی تو انجمن نیست ؟!!؟

M.CLONER
چهارشنبه 29 مرداد 1393, 19:09 عصر
اینم جواب خودم !!! :

برای جلوگیری از اتصال مونگو بدون یوزر پسور کافیه به انتهای پارامتر اتصال عبارت --auth را اضافه کنید...
مثلا :
C:\mongodb\bin\mongod.exe --dbpath D:\mongo\data\ --port 20000 --auth
البته قبلش باید با کدی که در بالا ذکر کردم یک یوزر تعریف کنید ...