Admin paneli masaüstü uygulamasında tutmak aklıma gelmemişti doğru diyorsunuz.
PHP den sonra NodeJS öğrenmeniz ne kadar vaktinizi aldı ? Ve daha performanslıdan kastınız tam olarak nedir ? Daha düzenli kod yazma imkanı mı yoksa tamamen kendi başına daha mı hızlı çalışıyor ?
NodeJS anlık olarak sayfa içerisinde işlem yaptığı için mi tercihinizdir ?
Bence de dediğiniz gibi çok büyük çaplı olmayan, kendi ürünlerimi satacağım bir websitede PHP kullanılabilir. Zaten proje çok büyük olmayacağından sayfa yenileme muhabbeti can sıkmayacaktır.
Güvenlik kısmına da gelecek olursak kodlarınızı özenli yazmak dışında ek güvenlik politikalarınız neler oluyor ? Sunucu kısmında ne gibi önlemler alıyorsunuz ? Kodu mantıklı ve açık olmadan yazmak işin sadece bir kısmı mı ?
OOP konusuna hala tam giriş yapamadım. Çünkü oraya bir anda girmenin bilgileri çok havada bırakacağını düşündüm. Yüzeysel öğrenmektense kavramları ve mantığını iyi oturtarak gitmek isterim. Okulla beraber çalışarak. O yüzden bi e-ticaret sitesi kurmaya kendi bildiklerimden ve üzerine bi tık koya koya giriş yapmayı düşünüyorum şu anda.
Yorumunuz için çok teşekkür ederim bu arada faydalı oldu
Aslında Node.JS zor bir dil değil sadece kapsamlı JavaScript biliyorsanız işiniz daha da kolaylaşacaktır.
Hem daha düzenli kod yazabiliyorsunuz hem de npm paketlerini tek tıkla kur ile çalıştırabiliyorsunuz. Kapsamlıdan kastim da şu, PHP'de bir api çağıracaksınız diyelim. Bu durumda cURL kullanacaksınız. Node.JS düşünelim şimdi. Fetch var, axios var, request var. Hem kapsamlı hem de özgürlük.
Mesela express paketini kurup hemen routerları dizebiliyorsun.
Güvenlik bahsedeyim. Sunucu ip adresleri maskelenir.
SQL injection, XSS karşı korumalar sağlanır.
Mesela büyük bir proje kuracak olsam gidip de phpMyAdmin veya veritabanı paneli kurmam. Bir hosting kullanmam mesela sunucunun kendisini kullanırım. Bu projenin güvenlik risklerini arttırıyor. Local veritabanı kullanırım. Veritabanı girişleri sadece localden olacak ve remote bağlantıları kapatırım. Ya da gerektiği yerde açarım.
Üye şifreleri vb. SHA veya md5 +(salt) ile şifrelenir. Bu tamamen size bağlı.
Bir örnek verelim.
Server'a bir form post ettiriyorsunuz siz formdan sayı istiyorsunuz ve bunu server'da kullanacaksinız. Server side ile bunu number formatında kullanmalısınız. Örneğin
$number = $_POST["number"];
bu string değerleri de dâhil ediyor.
Şimdi int fonksiyonunu ekleyelim
$number = int($_POST["number"]);
Şimdi ise post edilen "number"ın bir integer değer olduğunu tanımladık.
Yani front end tarafından string gelirse PHP bunu otomatik 0 yapacaktır. Number gelirse number atayacaktır. Aslında bu tarz açıklar neredeyse kalmadı çünkü PDO var, MySQLi var ve bunların güvenliği alınıyor. Bu sadece bir örnekti.
Üye girişlerinde mutlaka access token tutulur. Ve o access token ile check edilir.
Register sayfalarına captcha koyulur ki bot ile limitsiz hesap oluşturulamasın.
Şu an aklıma gelenleri yazdım. Güvenliği o kadar kafama taktım ki çok şey öğrendim.