JavaScript avusteinen kirjautuminen

Mielin selainlaajennosta jossa olisi muutamien sivustojen osilta JavaScript koodilla tuotettu sisään kirjautuminen laajennoksen painikkeesta käsin. Esimerkiksi https://fi.pinterest.com/ olisi yksi sellainen sivusto. Onko huono ajatus?
12183
Äänestä

Muut lukivat myös

Vastaukset 12

Vanhimmat

Hyvin takkuisesti on tämä projekti alkanut, taitaa into kadota ennen kuin mitään saa kasaan.

Äänestä

Tulikin mielenkiintoinen ja omaperäinen ratkaisu tästä kirjautumisavustajasta, ja samalla törmäsin ongelmaan, annapas kun kuvailen ensin kirjautumisen.

Kirjautuminen on toteutettu kirjanmerkkinä. Eli ihan tavallisen kirjanmerkin URL osoite on korvattu JavaScript koodilla. Ja se toimii, mutta on luotava jokaiselle sivulle omansa, no ei sekään mitään ihmeitä vaadi. On vain tällä hetkellä toteutettuna kahdelle eri sivustolle.

Mutta nyt se ongelman kuvaus, kun tuo kirjanmerkki ratkaisu vaatii sitä että ollaan sillä sivustolla johon aiotaan kirjautua, ja parempi ratkaisu olisi että oltiinpa missä hyvänsä, tämä kirjautumisavustaja siirtää ensin sille sivulle ja sitten vasta tarjoaa tunnukset ja salasanat. Ja tätä en ole saanut pelittämään.

Siinä käy niin että kuvitellaan että juuri tällä sivulla painan kirjanmerkkiä Pastebin sivulle, niin siirtyminen menee kyllä, mutta se loppuosa koodista suorittamatta, aivan kuin se olisi jäänyt tälle sivulle.

Kuinka tämä ratkaistaan?

Äänestä

Tietysti yksi ratkaisu olisi tehdä selainlaajennos, ja sitten siinä jollakin onload() tapahtuman tuloksena tuo kirjautuminen. Tässä on kiusana se että joutuu luomaan useita tiedostoja, ei oikein ota tulta.

Tämä kirjanmerkin uusi ominaisuus olisi paras.

Äänestä

Tein esimerkin, kuinka JavaScript toimii. Tämä poimii sivulta jolla olet, kaikki verkko-osoitteet ja kirjoittaa ne kehitystyökalujen console -välilehdelle. Nähdäksesi tulokset joudut painamaan F12 ja valitsemaan console -välilehden.

Koodi: https://pastebin.com/6BQi5VS7

Kirjanmerkin URL -kenttään sitä ei voi suoraan laittaa tuollaisena, se ei tulisi toimimaan. Sinun on suoritettava koodin tiivistys yksiriviseksi. Voit tehdä sen käsin tai komentokehotteessa näin:

terser bookmark-url-to-console.js

Tiivistetty koodi tulostuu näytölle, kopioi se siitä, ja liitä kirjanmerkin URL -kenttään. Koodin alkuun on laitettava:

javascript:

Muutoin ei muutoksia kirjanmerkkiin pysty edes tallentamaan. Tein tämän kirjautumisohjeen korvikkeena, koska kirjautumisavustaja tulisi olemaan erilainen jokaisella sivulla ja niin ollen asiaa ei välttämättä ymmärrettäisi oikein.

Tämä sama voitaisiin tehdä myös selainlaajennoksena, mutta laajennoksen tekeminen vaatii paljon enemmän asiantuntemusta ennen kuin se toimii. Näin kirjanmerkkinä on helpompi tehdä ja ottaa käyttöön pieniä apuohjelmia.

Tuo terser -apuohjelma, jolla tiivistetään palvelinpäässä JavaScript koodit, nopeasti latautuviksi, yksirivisiksi tumpeiksi, poistaa kaiken ylimääräisen. Tämä on ohjelma jota harvemmalla on valmiina, joten sen joutuu asentamaan tai tiivistelemään käsin, tärkeintä tiivistelyssä on että siihen ei jää rivinvaihtoja.

Äänestä
  • Tuossa on pientä kehittelyn varaa, vaikka niin että tulostaa erilleen sivuston sisäiset ja sivuston ulkoiset linkit.

    Äänestä

  • Lisätäänpä vielä, jos käytät mainostenpoistajia, console -välilehdellä saattaa näkyä paljon punaisella tulostuneita vieheilmoituksia. Nämä syntyvät siitä kun mainoksia näyttävät karusellit eivät löydä elementtiä mihin mainos pitäisi sijoittaa.

    Ellet halua katsella noita virheviestejä, voit liittää tuon kooditumpin URL -kenttään niin että aloitat sen näin:

    javascript:console.clear();

    ja nyt siihen perään se tiivistetty tumppi, ja huomaa jos poistat esimerkistä rivit 15 ja 18 tulostuu myös linkit jotka viittaavat sivun ulkopuolelle.

    Äänestä

Lisäsin vielä yhden kirjanmerkin, jolla saat selville oman ulkoisen IP-numerosi.
https://pastebin.com/amySUSWZ

Samassa yhteydessä huomautan, että et voi ajaa mitään kirjanmerkkiin liitettyä JavaScript koodia ollessasi selaimen asetus-sivuilla.

Äänestä
  • Vaikutti siltä että tuohonkin jäi hiomisen varaa, nimittäin jquery joka siinä alussa ladataan käytettäväksi, latautuu himpun verran liian hitaasti, eikä ole sivun käytettävissä ensimmäisellä kerralla.

    Eli niillä sivuilla joissa jquery on jo ennestään käytössä, tuo näyttää IP numeron kerralla, mutta muilla sivuilla joutuu yrittämään kahdesti. Jos kuka kehtaa lisätä pienen viiveen se korjaantuu sillä.

    Äänestä

  • Anonyymi kirjoitti:

    Vaikutti siltä että tuohonkin jäi hiomisen varaa, nimittäin jquery joka siinä alussa ladataan käytettäväksi, latautuu himpun verran liian hitaasti, eikä ole sivun käytettävissä ensimmäisellä kerralla.

    Eli niillä sivuilla joissa jquery on jo ennestään käytössä, tuo näyttää IP numeron kerralla, mutta muilla sivuilla joutuu yrittämään kahdesti. Jos kuka kehtaa lisätä pienen viiveen se korjaantuu sillä.

    Kävin laittamassa 1 sekunnin viiveen, ja valmiin tiivistyksen sinne alle.

    Äänestä

Aika kätevä on Tampermonkey (tai Greasemonkey tai joku vastaava). Sinne voi laittaa omia skritejään ja valita millä sivuilla niitä suoritetaan. Ei tarvitse tehdä joka juttuun omaa laajennustaan tai noita kirjanmerkkejä, joita pitää kuitenkin aina klikata, jotta koodi suorittuisi.

Äänestä
  • Kävin katsomassa, ja "hello world" pätkää kokeilin, ei oikein avautunut väsyyneenä tuo homma.

    Äänestä

Kommentoi aloitusta


Anonyymi kirjoitti:

Mielin selainlaajennosta jossa olisi muutamien sivustojen osilta JavaScript koodilla tuotettu sisään kirjautuminen laajennoksen painikkeesta käsin. Esimerkiksi https://fi.pinterest.com/ olisi yksi sellainen sivusto. Onko huono ajatus?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu