Changeset 61 in code for trunk


Ignore:
Timestamp:
Dec 1, 2016, 1:01:22 PM (9 years ago)
Author:
alex
Message:

[mod] data scheme URL : allow only images (png, jpeg, pjpeg, gif, webp)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/morty.go

    r60 r61  
    688688        // TODO check malicious data: - e.g. data:script
    689689        if scheme == "data:" {
    690                 return string(uri), nil
     690                if bytes.HasPrefix(uri, []byte("data:image/png")) ||
     691                        bytes.HasPrefix(uri, []byte("data:image/jpeg")) ||
     692                        bytes.HasPrefix(uri, []byte("data:image/pjpeg")) ||
     693                        bytes.HasPrefix(uri, []byte("data:image/gif")) ||
     694                        bytes.HasPrefix(uri, []byte("data:image/webp")) {
     695                        // should be safe
     696                        return string(uri), nil
     697                } else {
     698                        // unsafe data
     699                        return "", nil
     700                }
    691701        }
    692702
Note: See TracChangeset for help on using the changeset viewer.