Gönderen Konu: Node.js Mongo db bağlantısı  (Okunma sayısı 919 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

« : »
Merhaba,

Node js ile uğraşırken bazı temel şeyleri yaptıktan sonra bir de database'e bağlanmak istedim bunun için de mongo db kullandım. Benim aklıma takılan bazı sorular oluyor genelde hep php mysql ile uğraşmaya çalıştım webte onların mantığı basitti. Şimdi bunlara bakıyorum socketler işin içine girince biraz karışık gelmeye başladı.

Aşağıda bir nodejs te mongo db ye bağlanma komutu var. Burada benim aklıma takılan şey neden bir kullanıcı adı pass girilmeden bağlanıyor ? Neden bu kadar açık bir şekilde ? Sadece htaccsess den nodejs dosyasını gizleyince olay çözülüyor mu ondan mı böyle rahat bir tarzı var yoksa ben mi birşeyleri eksik yapıyorum.   


Kod: [Seç]
var url = 'mongodb:// localhost:27017/ mynewdb';
// Use connect method to connect to the Server
MongoClient(nokta)connect(url, function(err, db) {
  assert(nokta)equal(null, err);
  console(nokta)log("Connected correctly to server");

  db(nokta)close();
});

Kısa bağlantılar yasak uyarısı veriyor o yuzden "." (nokta) şeklinde gösterdim.
Tanrı konuşmaz, şeytan fısıldar...

« Yanıtla #1 : »
Mongodb öntanımlı olarak oturum kontrolü olmadan başlıyor. Eğer kontrol istiyorsanız bağlantıdaki adımları takip ederek önce kullanıcı oluşturup daha sonra oturum kontrolü yapılacak şekilde mongodb servisini yeniden başlatın.
https://docs.mongodb.com/manual/tutorial/enable-authentication/

Daha sonra ilgili kısmı
Kod: [Seç]
var url = 'mongodb://kullanıcıAdı:şifre@localhost:27017/mynewdb';şeklinde değiştirerek bağlantı yapabilirsiniz.

Alıntı
Neden bu kadar açık bir şekilde ?
Nosql veritabanları yeni yeni yaygınlaşmaya başladığından kullanım kolaylığı ön planda oluyor. İlk kullanacak kişiler için birden fazla kullanıcıyla birden fazla veritabanına izin sistemiyle bağlanma gibi bir olay gerekmiyor. Genelde tek kullanıcı kullanıyor. İş birden fazla kullanıcının yetkileri dahilinde erişmesi kısmına geldiğinde ise zaten o adam olayı kavramış ve bunu etkinleştirebilir diye düşünüyorlar sanırım. :D

Alıntı
Sadece htaccsess den nodejs dosyasını gizleyince olay çözülüyor mu ondan mı böyle rahat bir tarzı var yoksa ben mi birşeyleri eksik yapıyorum.

Bu cümleyi hiç anlamadım. htaccess ile nodejs'nin bağlantısı nedir? Apache ayrı bir web sunucusu, nodejs ayrı bir web sunucusu.

« Yanıtla #2 : »
Alıntı
Sadece htaccsess den nodejs dosyasını gizleyince olay çözülüyor mu ondan mı böyle rahat bir tarzı var yoksa ben mi birşeyleri eksik yapıyorum.

Bu cümleyi hiç anlamadım. htaccess ile nodejs'nin bağlantısı nedir? Apache ayrı bir web sunucusu, nodejs ayrı bir web sunucusu.
[/quote]

Yani bunu servere attığımızda kodların gözükmemesi için gerçi node js heryerden çalıştırılabiliyor ama böyle de bir kullanım görmüştüm htaccsess ile dosya okumayı kapatıyordu o dizinde.

 Çok kullanamdığım için kafamda deli sorular oldu birden Teşekkürler cevap için.
Tanrı konuşmaz, şeytan fısıldar...

« Yanıtla #3 : »
Dediğiniz gibi Nodejs tek başına çalışabiliyor. Eğer Apache ile Nodejs birlikte kullanılacak ise Nodejs ile kullanacağınız dosyaları Apache'nin yorumladığı dizinin (genelde /var/www) dışında tutmanız yeterli. Rica ederim.