Git Product home page Git Product logo

Comments (6)

satyavh avatar satyavh commented on August 20, 2024

I think the problem is, no backend serves the dapp, so we can't really include CSRF protection. That means, the client can never be trusted. And so we need to secure Feathers models and services. Already made a story for that in the feathers repro.

I'm really curious how Dapps are solving this issue. Actually blockchain could be really good for this, as a CSRF token is some kind of transaction based on trust.

from giveth-dapp.

ewingrj avatar ewingrj commented on August 20, 2024

add sanitizing to feathers for all data

from giveth-dapp.

ewingrj avatar ewingrj commented on August 20, 2024

okay, so react will sanitize anything unless we use dangerourslySetHtml, which we do for the dacs/campaigns/milestone descriptions field as we are using QuillJS.

from giveth-dapp.

vojtechsimetka avatar vojtechsimetka commented on August 20, 2024

Still the case in ViewCampaign, ViewDAC and ViewMilestone. Moving back to backlog (we really should solve this)

from giveth-dapp.

satyavh avatar satyavh commented on August 20, 2024

Ok so what exactly should we still solve here?

We cannot sanitize on the client, it can never ever be trusted. If we've implemented sanitizing on feathers, that should do it.

This dangerourslySetHtml is kind of (Facebook) bullshit if you know the source of the data (it just sets innerHtml but Facebook wants to own the web and thought it funny to name it differently).

We know the data always comes from Feathers and is sanitized already. And if by some hack attack that data doesn't come from Feathers, then still QuillJS is as far as I tried incapible of executing JS. And even if that would be hacked, then if the user saves it will be sanitized in Feathers again.

:-)

from giveth-dapp.

vojtechsimetka avatar vojtechsimetka commented on August 20, 2024

Good enough for me, I tried to do some injections but could not.

from giveth-dapp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.