scratchfoundation / scratch-gui

Graphical User Interface for creating and running Scratch 3.0 projects.
https://scratchfoundation.github.io/scratch-gui/develop/
BSD 3-Clause "New" or "Revised" License
4.42k stars 3.5k forks source link

Embed editable project #3217

Open luchotc opened 5 years ago

luchotc commented 5 years ago

Hi, i was wondering if you are planning to add the possibility to embed the project creation page and not only the running project. I'm currently making a tutorial on how to use scratch and it would be very useful for me to be able to do so. Thanks!

fedescarpa commented 5 years ago

That feature would be awesome!

joker314 commented 5 years ago

This is a nice idea.

There's a risk of a security vulnerability called 'Clickjacking' where a user is deceived into performing state-changing actions in a hidden embedded page. In this attack, the attacker overlays her own content over the embed, but directs all the clicks to the hidden embedded layer underneath. We could do (one of):

kyleplo commented 5 years ago

@luchotc Possible solution to @joker314 's ideas: What if the project wasn't signed in by default. Clicking sign in (or join scratch) would open a new tab with a login form, where the user could choose to login or not. Logging in would result in the login page redirecting to the project page, while canceling would close the login tab.

Possible Design: image

thisandagain commented 5 years ago

@luchotc Great question! We actually used to have this feature and unfortunately had to disable it because of the threat (and an actual implementation was found in the wild) of Click Jacking. As @joker314 points out there may be some ways to mitigate the issue, but it's a complex security area.