Webpagemakerapi: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 6: | Line 6: | ||
|'''Projected Freeze Date:''' || <Placeholder> | |'''Projected Freeze Date:''' || <Placeholder> | ||
|- | |- | ||
|'''Product Champions:''' || [ | |'''Product Champions:''' || [https://mozillians.org/simonwex Simon Wex], [[User:davida|David Ascher]] | ||
|- | |- | ||
|'''Privacy Champions:''' || | |'''Privacy Champions:''' || | ||
| Line 64: | Line 64: | ||
== Stored Data == | == Stored Data == | ||
End-user created HTML documents are stored in MySQL. | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! Risk | ||
! | ! Mitigation Strategy | ||
|- | |||
| Copyrighted work can be stored and distributed through the API | |||
| | |||
* Documents will require DOCTYPE definitions and syntactically correct HTML | |||
* Documents will be limited to 10,000 characters | |||
|- | |||
| Documents hosted via the API could be used as link farms | |||
| | |||
* nofollow attributes will be inserted in all "a" tags via Bleach | |||
|- | |||
| Javascript could be used in a multitude of ways to compromise client machines | |||
| | |||
* All Javascript will be stripped using Bleach before it is served | |||
|- | |- | ||
| | | Database insertion could be used as a DOS attack vector | ||
| | | | ||
* Rate limiting will be implemented along with above size limitations | |||
|} | |} | ||
Revision as of 21:51, 18 April 2012
Document Overview
| Feature/Product: | [WebPageMaker for Summer Campaign] |
| Projected Freeze Date: | <Placeholder> |
| Product Champions: | Simon Wex, David Ascher |
| Privacy Champions: | |
| Security Contact: | |
| Document State: |
Timeline
| WebPageMaker Checkpoint #2 | All production issues (scalability, privacy standards, etc.) have been resolved. | 20-May-2012 (*soon*) |
Introduction to WebPageMakerAPI's Client -- WebPageMaker
WebPageMakerAPI is a simple API used for persisting and sharing HTML documents by the WebPageMaker Gallery. Building on what's been started with LoveBomb and StoryThing, the Web Page Maker app is designed to let people:
- Go to make.mozilla.org and make a web page fast.
- Share what you make in a low friction way (ie. don't need your own hosting).
- Make something nice based on one of our beautiful remixable templates.
- Learn web literacy skills by making things following our step-by-step guided learning experiences (which are themselves hackable webpages).
- Easily make a new guided learning experience.
For more information on WebPageMaker, see WebPageMaker for Summer Campaign
WebPageMakerAPI Overview
The API is a two-endpoint HTTP API that accepts (via POST) HTML documents and serves those documents via a short url. The HTML documents are cleaned by Bleach before being served. Playdoh is the planned implementation framework.
API Methods
| Name | Endpoint | HTTP Method | Parameters | Return |
| Create Page | /page | POST | Raw Post Data (HTML) | Relative Short URL id (eg. "/ja5bn") |
| Read Page | /{short url id} | GET | short url id (in path) | Sanitized (Bleach) |
Stored Data
End-user created HTML documents are stored in MySQL.
| Risk | Mitigation Strategy |
|---|---|
| Copyrighted work can be stored and distributed through the API |
|
| Documents hosted via the API could be used as link farms |
|
| Javascript could be used in a multitude of ways to compromise client machines |
|
| Database insertion could be used as a DOS attack vector |
|