Giter VIP home page Giter VIP logo

Comments (4)

caronc avatar caronc commented on August 22, 2024

Hmm... One thing you could do is park an NginX server in-front of your webpage and strip off any kwargs passed in?

Alternatively do you think it would be better to have 2 separate URLS... or maybe a global system variable you can specify that turns this off when set (like an ALWAYS_PRIVACY_MODE=1)?

There is also the /get/{key} which returns the URLs so they can be used by the external apprise CLI (remotely). So setting this suggested flag would have to disable this too...

Thoughts?

from apprise-api.

n1nj4888 avatar n1nj4888 commented on August 22, 2024

Hi @caronc - The use of a global variable such as ALWAYS_PRIVACY_MODE=1 forcing all passwords to be obscured in GET calls / any response data sounds like a good idea

from apprise-api.

caronc avatar caronc commented on August 22, 2024

I know it's been a very long time since I've looked at this, but I've finally had time to. But while doing it, i saw that there were quite a few flaws with the request and I wanted to bounce them off you to see if it was still worth changing up how we could handle this.

First off; i think the problem here is the fact that anyone can change the URL http://localhost:8000/json/urls/{token}?privacy=1 to http://localhost:8000/json/urls/{token}?privacy=0. I get this. But if I were to force the privacy to always be 1 the same attacker could also just extract your configuration from http://localhost:8000/cfg/{token} (which is your Configuration Screen itself in the API); it's also the location referenced by the CLI tool --config option (if you're using it). So this PRIVACY_MODE would also have to disable the these 2 features when set. Was this kind of what you're going for?

  1. Someone would set up their Apprise Configuration in the API and then shut it down.
  2. They would then set an agreed upon Environment Variable; This setting would then disable:
    • The --config= option from the Apprise CLI (disabling it); but you can still use the apprise:// plugin recently added as an alternative (coming out in the 0.9.6 release).
    • The Configuration tab from the GUI
    • The /json/urls/{token}/ would continue to operate (but enforcing privacy mode always

This would probably resolve #46 as well since you would no longer be able to update your configuration anymore with this shared global variable.

Does this make sense? What are your thoughts?

from apprise-api.

caronc avatar caronc commented on August 22, 2024

Just letting you know the last PR should solve all of your very valid issues you pointed out! 👍

from apprise-api.

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.