Security note
Never depends only in Javascript for security because Javascript code could be tampered by final users. So only use this technique when you also use backend security.
Bu ikidir karşıma çıkıyor bazen Vue.js ile alakalı how to makalelerinde denk geliyor.
Koskoca laravel jetstream diye bir paket çıkarıcak bunuda vue.js ile kullanabilirsiniz diye seçenek ile yayınlayacak ve bu dışarıdan müdaheleyeye açık olacak pek mantıklı gelmiyor, o halde neyi yanlış anlıyorum ?
<div data-page="{"component":"Welcome","props":{"jetstream":{"canCreateTeams":false,"canManageTwoFactorAuthentication":true,"canUpdatePassword":true,"canUpdateProfileInformation":true,"hasEmailVerification":false,"flash":[],"hasAccountDeletionFeatures":true,"hasApiFeatures":false,"hasTeamFeatures":false,"hasTermsAndPrivacyPolicyFeature":false,"managesProfilePhotos":true},"user":{"id":2,"status":0,"username":"testuser","email":"testuser@gmail.com","email_verified_at":null,"two_factor_confirmed_at":null,"current_team_id":null,"profile_photo_path":"profile-photos\/cE67SLmo33oc1eKufDVT2CulOSLZLEezKDoddhpd.jpg","created_at":"2022-09-30T16:49:24.000000Z","updated_at":"2022-09-30T16:51:04.000000Z","profile_photo_url":"http:\/\/127.0.0.1:8000\/storage\/profile-photos\/cE67SLmo33oc1eKufDVT2CulOSLZLEezKDoddhpd.jpg","profile":{"id":1,"user_id":2,"firstname":"tal\u00e7\u0131n","lastname":"\u00e7oh","created_at":"2022-09-30T16:49:24.000000Z","updated_at":"2022-09-30T16:49:24.000000Z"},"two_factor_enabled":false},"errorBags":[],"errors":{},"canLogin":true,"canRegister":true,"laravelVersion":"9.30.1","phpVersion":"8.1.6"},"url":"\/","version":"2286ba792f1865b3ca620d8512e3872d"}">
</div>
tüm bunları güvenliği anlamak için sorduğumu belirteyim vue.js güvenliğini kastediyorum .
yukardaki sayfa welcome.vue kaynağı neredeyse standart hali birkaç ufak tefek değişiklik var .
"user":{"id":2,"status":0,"username":"testuser","email":"testuser@gmail.com","
diye devem ediyor. user modeline sadece username alanı ekledim gerisi jetstream'in standart olarak ilk kurulumla kaynak kodunda gözüküyor
profile":{"id":1,"user_id":2,"firstname":"tal\u00e7\u0131n","lastname":"
şeklinde devam eden satır ise kaydolan kullanıcıya ait hasOne ilişki ile oluşturduğum profil modelinden geliyor daha doğrusu jetstream kullandığım için otomatik olarak $page.props.user da ne varsa basıyor şimdi bunlara dışardan müdahale edilebilir mi ?
Security note
Never depends only in Javascript for security because Javascript code could be tampered by final users. So only use this technique when you also use backend security.
kısaca yukarda ne demek istiyor ?