• 24-05-2020, 14:39:51
    #1
    Arkadaşlar İyi Bayramlar
    Şöyle bir sorum var php dosyalarında sepete ekleme ve sepeten çıkar js ajax ile yapıyorum malum ama sayfa kaynagında kabak gibi gözüküyor bunlar sıkıntı yaratırmı ?
    kod :
     function bildirim(status, msg) {         if (status == "success") {             Notiflix.Notify.Success(msg);         }         if(status == "error"){             Notiflix.Notify.Failure(msg);         }     }     function headersepet() {         checkoutsor();         toplamfiyatsor();         adetsor();     }     function sepetdelete_onview(dizi) {         $.ajax({             type:"POST",             url:"/engine/operation.php",             data:{                 product:dizi,                 delete_checkout:1             },             success:function(data){                 veri=JSON.parse(data);                 if (veri.status == "success") {                     bildirim('success',veri.message);                     zamanla('headersepet();',1000);                 }else{                     bildirim('error',veri.message);                 }             }         });     }     function checkoutsor() {         // like=document.getElementById("checkout-like").innerHTML;         like='<div class="product-widget"><div class="product-img"> <img src="{resim}" alt="{alt_img}"> </div> <div class="product-body"> <h3 class="product-name"><a href="{url}">{baslik}</a></h3> <h4 class="product-price"><span class="qty">{adet}</span>{fiyat}</h4> </div> <button class="delete"><i class="fa fa-close" {onclick}></i></button> </div>';         $.ajax({             type:"POST",             url:"/engine/operation.php",             data:{                 checkout_review:1,                 review_like:like             },             success:function(data){                 document.getElementById("checkout-review").innerHTML=data;             }         });     }     function toplamfiyatsor() {         $.ajax({             type:"POST",             url:"/engine/operation.php",             data:{                 checkout_toplamfiyat:1             },             success:function(data){                 data=JSON.parse(data);                 document.getElementById("check-fiyat").innerHTML=data.products_total_price;             }         });     }      function adetsor() {         $.ajax({             type:"POST",             url:"/engine/operation.php",             data:{                 checkout_ask:1             },             success:function(data){                 if (data>0) {                     document.getElementById("checkout-sayi").innerHTML=data;                     document.getElementById("checkout-sayi").setAttribute("style","");                 }else{                     document.getElementById("checkout-sayi").innerHTML=data;                     document.getElementById("checkout-sayi").setAttribute("style","display: none;");                 }             }         });     }     zamanla('headersepet();',1000);  function sepetekle(dizi, adet, tab) {             $.ajax({                 type: "POST",                 url: "engine/operation.php",                 data: {                     product: dizi,                     add_checkout: 1,                     adet: adet                 },                 success: function(data) {                     veri = JSON.parse(data);                     if (veri.status == "success") {                         bildirim("success", veri.message);                         document.getElementById("sepetekle-button-" + dizi + "-" + tab).setAttribute("style", "display: none;");                         document.getElementById("sepetdelete-button-" + dizi + "-" + tab).setAttribute("style", "");                     } else {                         bildirim("error", veri.message);                     }                 }             });         }          function sepetdelete(dizi, tab) {             $.ajax({                 type: "POST",                 url: "engine/operation.php",                 data: {                     product: dizi,                     delete_checkout: 1                 },                 success: function(data) {                     veri = JSON.parse(data);                     if (veri.status == "success") {                         bildirim('success', veri.message);                         document.getElementById("sepetdelete-button-" + dizi + "-" + tab).setAttribute("style", "display: none;");                         document.getElementById("sepetekle-button-" + dizi + "-" + tab).setAttribute("style", "");                         zamanla('headersepet();', 600);                     } else {                         bildirim('error', veri.message);                     }                 }             });         }   function add_wish_request(istek, id) {             $.ajax({                 type: "POST",                 url: "/engine/operation.php",                 data: {                     add_wish: 1,                     request: istek,                     id: id                 },                 success: function(data) {                      veri = JSON.parse(data);                     if (veri.status == "success") {                         // :D                     } else {                         bildirim("error", veri.message);                     }                  }             });         }          function add_wish(button, islem, id) { // kalp işlemleri             if (user_status == 1) {                 if (islem == 1) {                     button.innerHTML = '<i class="fas fa-heart" style="color: red;"></i><span class="tooltipp">Favorimden çıkar</span>';                     button.setAttribute("onclick", "add_wish(this,0," + id + ")");                 } else {                     button.innerHTML = '<i class="far fa-heart"></i><span class="tooltipp">Favorime ekle</span>';                     button.setAttribute("onclick", "add_wish(this,1," + id + ")");                  }             }             add_wish_request(islem, id);         }
    bunun gibi bide engine/operation.php burdaki php kaldırma şansımız varmı bu kod yapısı güvelirmi ne önerirsiniz ?
  • 24-05-2020, 14:47:10
    #2
    JS browserda çalışır yani her kullanıcı bunları görebilir. Görünmesini istemediğiniz işlemleri backend tarafında halletmelisiniz.
  • 24-05-2020, 14:49:23
    #3
    Back end tarafında güvenliği sağlayın. Tarayacının yorumladığı kodu kullanıcıda yorumlayabilir 😅
  • 24-05-2020, 14:51:44
    #4
    minify yapın, biraz da olsa karmaşık gözükür.
  • 24-05-2020, 15:02:43
    #5
    Kullanıcının bu kodları görmesi sorun değil sana tavsiyem şu olur her JS AJAX işlemi için bir token yarat tek seferlik o işlem o token için geçerli olduktan sonra işlemi tamamlayınca yeni bir token üret her zaman böyle bir işlemde yapabilirsin.
  • 24-05-2020, 15:31:47
    #6
    DPA adlı üyeden alıntı: mesajı görüntüle
    Kullanıcının bu kodları görmesi sorun değil sana tavsiyem şu olur her JS AJAX işlemi için bir token yarat tek seferlik o işlem o token için geçerli olduktan sonra işlemi tamamlayınca yeni bir token üret her zaman böyle bir işlemde yapabilirsin.
    hocam birazdaha açabilirmisiniz
  • 24-05-2020, 15:46:54
    #7
    " jquery ajax csrf token " diye aratırsan eğer makaleler sana yardımcı olacaktır hocam. CodeIgniter içerisinde böyle bir yapı var kendi projelerinde bunu kullanabilirsin lakin unutma bu tokenlerin oluşturulma süreleri var saniye/milisaniye cinsinden çünkü her bir kullanıcıya özel projende token oluşturmalısın ki o tokeni back-end tarafında kontrol etmen gerekir eğer tokenler uyuşmaz veya daha önce başka bir işlemde kullanılan bir token ise hata verdirmelisin biraz makale okumanda fayda var. İyi bayramlar..
  • 24-05-2020, 15:52:16
    #8
    DPA adlı üyeden alıntı: mesajı görüntüle
    " jquery ajax csrf token " diye aratırsan eğer makaleler sana yardımcı olacaktır hocam. CodeIgniter içerisinde böyle bir yapı var kendi projelerinde bunu kullanabilirsin lakin unutma bu tokenlerin oluşturulma süreleri var saniye/milisaniye cinsinden çünkü her bir kullanıcıya özel projende token oluşturmalısın ki o tokeni back-end tarafında kontrol etmen gerekir eğer tokenler uyuşmaz veya daha önce başka bir işlemde kullanılan bir token ise hata verdirmelisin biraz makale okumanda fayda var. İyi bayramlar..
    teşekürler hocam araştıracağım
  • 24-05-2020, 20:02:31
    #9
    selamlar,


    jsleri şifreleyebilirsiniz ama pek tavsiye etmem, tarayıcılar güvenlik tehditi olarak algılayıp blocklayabilirler.