Kom runt SVDs paywall – igen

Marcus Olsson,

SVD Betalvägg, del två

Uppdaterad 17/5 2013: Än en gång har SVD ändrat i sin betalvägg. För den allra nyaste, och förhoppningsvis sista, metoden för att komma runt betalväggen, läs Kom runt SVDs paywall – för sista gången.

Svenska Dagbladet verkar visst ha fixat sin betalvägg något (som var lite väl vek, som jag skrev om senast), nu kan man inte längre komma runt den genom att endast köra:

1svd_pw_close();
1svd_pw_close();

Nu har de börjat trixa med en slumpmässig sträng som läggs till i funktionen, så nu ser den ut på följande sätt:

1svd_pw_close_298718();
1svd_pw_close_298718();

Det blir ju lite krångligare nu när det finns ett slumpmässigt element inblandat; strängen slumpas t.o.m. mellan sidladdningar (alltså inte beroende av någon cookie som man kan läsa av eller liknande).

Hur löser vi det här nu då? Då strängen slumpas, så kan vi så klart gå igenom varje möjlig variant (som tur är består strängen endast av siffror, för stunden):

1for (var i = 999999; i >= 0; i--) {
2 if(typeof(window['svd_pw_close_' + i]) == 'function') {
3 window['svd_pw_close_' + i]();
4 }
5};
1for (var i = 999999; i >= 0; i--) {
2 if(typeof(window['svd_pw_close_' + i]) == 'function') {
3 window['svd_pw_close_' + i]();
4 }
5};

Här har du ett smidigt bokmärke som du kan använda (dra och släpp i bokmärkesfältet): Läs artikel

En annan variant är att köra hela innehållet i svd_pw_close_xxx();, alltså:

1jQuery(window).unbind("scroll", svd_pw_prev_scr);
2jQuery("#page").css("height", "auto");
3jQuery(".svd_pw_alert_box").animate({
4 top: -500,
5}, 500, function () {
6 jQuery("#svd_pw_alert").hide();
7 jQuery("#svd_pw_curtain").hide();
8 jQuery("body").removeClass("svd_pw_freeze");
9});
1jQuery(window).unbind("scroll", svd_pw_prev_scr);
2jQuery("#page").css("height", "auto");
3jQuery(".svd_pw_alert_box").animate({
4 top: -500,
5}, 500, function () {
6 jQuery("#svd_pw_alert").hide();
7 jQuery("#svd_pw_curtain").hide();
8 jQuery("body").removeClass("svd_pw_freeze");
9});

Även till denna får du ett trevligt litet bokmärke:

Sist men inte minst, man kan även rensa alla cookies för domänen. Se t.ex. det här bokmärket från en på Stackoverflow.

Mycket bättre SVD! Men lite till kan ni allt. Men tyvärr så kommer betalväggen förmodligen alltid att kunna kringgås så länge som det förlitas på javascript på klienten.

Uppdaterad 13/5 2013: Patrik Wibron (@wibron) var snäll nog att dela med sig av en kodsnutt som är betydligt mer effektiv (och snyggare) än den gamla for-loop:en här ovanför:

1for (d in window) {
2 var r = /svd_pw_close\d/i,
3 method = d.match(r);
4 if (method) window[d]();
5}
1for (d in window) {
2 var r = /svd_pw_close\d/i,
3 method = d.match(r);
4 if (method) window[d]();
5}

Även den får ett behändigt bokmärke:

Läs artikel.