you are basing your 'token' on md5(data+secret), however md5 (and other hash functions) are easily extended when data and token are known, even without knowing secret. Basically, given data and token, I can produce a different token, that matches a (somewhat) different data, without knowing secret.
Does it let you take a screenshot of the whole height of the page? I see that you can specify the height of the viewport, but what if I want a whole long screenshot of as much height is rendered?
I'll chime in and say that the company I work for was ready to pay 1200$ for a piece of software that we hoped would do this reliably. There are cheaper or even free alternatives out there, but they all had different problems. If this site is reliable and flexible, it is answering a real need in the market.
Sorry, I meant that as in reliably renders whatever you throw at it. This where others would fail, i.e. sections of the page would be not be rendered, or they would execute javascript, but the execution would fail half way through,, it would crash if the site embedded certain resources, that kind of thing.
Just use urlbox.io. We using them and currently doing over 25K screenshot requests a day on urlbox and extremely happy with their service reliability. Have spoken to founder couple of times.. he's integrated us with their PHP API.
Kind of funny - you get German Google display ads in the screenshots - looks like a headless webkit client (similar to phantomjs) - clear your caches between the screenshots guys.
I see you have an option to crop the image... but what about offsetting the crop? I've looked at a few of these services and no one seems to give that option. I can process it myself but it would be nice to do it in one api call. For example set viewport to 1200 x 1900, crop to 300 x 400 at 500px from the top and 300px from the left. Or some coordinates from top and center perhaps...
Anyone looking for a simple way to do this on an ad-hoc basis from their own machine can check out this python script: http://www.paulhammond.org/webkit2png/
You clearly were not ready for production. Please take your SaaS product offline and fix it.
1) A Recursion vulnerability exists within your app - if I use your PHP sample code to take a a screenshot of itself, your service blows up.
2) You embed a fully usable API key and token in your landing page.
Line 254 and 255:
var urlPart = "apikey=6101EE5C99B145ECB79B4125BED74D19&url=" + $('#tryurl').val() + "&thumbnail_width=550&crop_height=440&width=1280&height=1024";
var token = calcMD5(urlPart + "9A8E44104F064A5B9AD410F0F2DC9558");
45 comments
[ 5.1 ms ] story [ 108 ms ] threadOf course there are limits to this as some websites have "endless" scrolling (like pintrest)
And using 400x400 viewport: http://www.url2picture.com/Picture/Png/?apikey=6101EE5C99B14...
The Full-Page Screenshots is the main selling point at the moment...
Does it render in webkit?
http://www.url2picture.com/Picture/Png?apikey=6101EE5C99B145...
http://news.ycombinator.com/item?id=5257432
Compare: https://urlbox.io/docs
http://www.url2picture.com/Home/Docs
It does have a 14 day free trial.
It doesnt render fonts / webfonts properly.
Website design and docs look really poor compared to urlbox.io.
- Formatted in a way that I can read it without scrolling
- Not using capitalized variables
:)
1) A Recursion vulnerability exists within your app - if I use your PHP sample code to take a a screenshot of itself, your service blows up.
2) You embed a fully usable API key and token in your landing page. Line 254 and 255: var urlPart = "apikey=6101EE5C99B145ECB79B4125BED74D19&url=" + $('#tryurl').val() + "&thumbnail_width=550&crop_height=440&width=1280&height=1024"; var token = calcMD5(urlPart + "9A8E44104F064A5B9AD410F0F2DC9558");
You might want to fix that.