Xin chỉ giáo: Các cách chuyển data từ ejs sang js



  • Mình vẫn thường dùng JSON.stringify để parse data từ ejs sang js (vì mình thấy ejs xử lý data kém linh hoạt), nhưng vì cách này sẽ khiến data có thể bị nhìn thấy từ phía client nên mình nghĩ về mặt bảo mật sẽ rất kém.

    Mong ae chỉ giáo mình cách sử dụng response data tại client một cách an toàn nhất có thể.
    Rất cảm ơn mọi người.



  • Module bạn có sign in/sign out ko ?



  • @Vy-Nhật-Hoàng said in Xin chỉ giáo: Các cách chuyển data từ ejs sang js:

    Module bạn có sign in/sign out ko ?

    sign in/sign out: có phải ý bạn là authorization? Mình đang sử dụng passport bạn ạ.



  • Bạn có thể cho show data theo user:id
    Như vậy ko ai thấy đc người khác .
    Còn public bên client-side thì phải thấy rồi bạn có thể chia ra nhiều controller lấy api gây clients khó tìm được thôi. Xài angular/angular 2 hay reactJS đấy bạn .
    Good luck !



  • @Vy-Nhật-Hoàng Cảm ơn bạn đã giúp đỡ, nếu thật việc chuyển đổi data từ ejs sang js là không thể không public và angular hoặc react có thể giải quyết được vấn đề đó thì mình sẽ nghiên cứu ngay.



  • bạn render từ phí server hay ở client ?
    nếu ở client thì bị nhìn thấy là bình thường còn về phí server render example

    var ejs = require('ejs');
    var fs = require("fs");
    var color = [{
        "mau": "Blue"
    }, {
        "mau": "Red"
    }, {
        "mau": "Green"
    }];
    var html = ejs.render(fs.readFileSync("index.html","utf8"), {
        color: color
    });
    
    console.log(html)
    

    HTML Template

    OK, so have fun! :D
    -------------------
    <% for(var i = 0; i < color.length; ++i) {%>
      - <%=color[i].mau%>s<% } %>
    

    OUTPUT

    OK, so have fun! :D
    -------------------
      - Blues
      - Reds
      - Greens


  • @Hồ-Duy-Quốc-Bảo Cảm ơn bạn.
    Ý mình là parse ở phía client, khi ejs đã nhận data render từ server rồi.
    Ví dụ mình có list các object Post nhận từ server, muốn đưa sang js để hiển thị, xử lý cho thuận tiện, hiện tại mình vẫn dùng json parse nhưng cách này nếu xem source sẽ thấy toàn bộ data của list Post.

    Mình muốn tìm hiểu một cách nào khác có thể bảo mật hơn, người dùng không thể thấy các thông tin hay cấu trúc của data khi parse thôi.



  • nếu giấu thì phải giấu luôn chứ lưng lững cũng như không ! đối với dân tay mơ thì encode còn hy vọng không bị phát hiện chứ còn gặp tay phá phách thì !!!

    nếu muốn giấu thông tin thì có thể chuyển sang base64 hoặc hex rồi tạo function decode parser

    mình thấy sài thằng này vừa encode vừa tiết kiệm kb dữ liệu lz-string hoặc lzma !!



  • @Hồ-Duy-Quốc-Bảo Cảm ơn bạn nhiều nhé, mình sẽ thử xem sao.



  • @Acenter-Ha : Để protect data thì bạn phải implement: chứng thực (authentication), phân quyền (authorization). Server chỉ trả về những thông tin mà user được phép xem. Còn chuyện bạn render ở phía server hay client không thành vấn đề. Bạn nên tìm hiểu về authentication và authorization để hiểu rõ hơn.

    tuanquynet

    0

Log in to reply