Gugli barátomat kérdezgetem, de úgy látszik rosszul kérdezek.
Lehet. Pl. en sem ertem a kerdest. Mit akarsz lementeni, hova? Ha egy random oldal forrasat: pl jQueryvel: https://api.jquery.com/jquery.get/ Ha az aktualis ablak tartalmat: document.documentElement.outerHTML
(Pascal-t vagy delphi-t 15 éve nem használtam, így a lazarus nem lenne túl hatékony)
Más:
hogyan tudnám elmenteni a html tartalmát js segítségével?
Használtam a html anchor elemét, de az az eredeti fájlot tölti le.
Nekem az kéne, hogy a módosított tartalmat mentse.
Erre nyilván nem jó az anchor, mert az anchor sejtésem szerint egy létező fájlhoz kapcsolódik, a böngészőben lévő oldal pedig nem egy file. Gugli barátomat kérdezgetem, de úgy látszik rosszul kérdezek.
- akkor: bármelyik részletében is jobb bármelyik megoldásod, mint amely megoldásokat eddig ismertünk, a kódot így is, úgy is levadásszák; és amennyiben az kivételes megoldás, (ne aggódj) akkor téged is
- különben: nem történt semmi; semmi, ami miatt aggódnod kellene
Obfuscation, ezt értem, összezavarás, én is valami hasonlót gondoltam, de én inkább semmit nem csináló kódrészleteket tennék bele. És ennek a továbbfejlesztése, hogy a működő kódrészekben semmitmondó, illetve zavaró neveket használnék, ellenben sokatmondó elnevezéseket használnék a kamu / nem működő kódrészletekben. Ez amolyan terelés lenne.
3a: ezt megteheted, de a kodban valahol te is dekodolod a kodot, kezzel is meg fogja tudni tenni az, aki dekodolni akarja.
3b. ennek nem sok ertelme van, ld 3a
Igazabol aminek "haszna" van, az az obfuscation (+ minify). Az olyan azonositokkal, mint pl. i5671 es x8_42ag nehezebb kibogozni a kodbol, mi mire jo. Ettol fuggetlenul a kod reszei (ujra)felhasznalhatoak maradnak, csak megnehezitetted azt.
Ötleteket kérnék, bár saját elképzeléseim is vannak.
Írok egy viszonylag egyszerű játékprogramot, a kedvenc táblás társasjátékom lesz, de ebből a szempontból teljesen mindegy.
A lényeg, hogy javascriptben írom, többszáz soros program, azt szeretném, hogy mások ne tudják felhasználni a kódot.
Nem kereskedelmi célra szánom, igazából gyakorlati jelentősége nem nagyon van, de mégis szeretném sajátomnak tudni.
Azt nem tudom megakadályozni, hogy a felhasználó a saját gépére letöltse, de a felhasználást meg tudom nehezíteni vagy lehetetlenné tenni.
A következő módszereket találom megvalósíthatónak:
1. megoldás lehet, hogy az egész forráskódban a behúzásokat törlöm, majd az összes sorvége karaktert törlöm, így az egész egy sorba kerül és így olvashatatlan lesz. Azonban kis ügyeskedéssel olvashatóvá lehet tenni. (ez nem saját ötlet)
2. arra gondoltam, hogy teleszórom mindenféle szeméttel, ami a program működését nem változtatja meg, mégis sokkal nehezebben értelmezhető, ha vannak benne felesleges dolgok.
3.a. kódolom a program részleteit, pl. a saját függvényeket, futásidőben dekódolom azt, amelyre éppen szükség van
3.b. kódolás, de a kódolt programrészeket valahova elrejtem, mondjuk egy képfájl véghez toldom, vagy egy megadott helyre beszúrom, majd onnan olvasom ki, amikor szükséges
Én VBS -ben progrmozok . Tudom, elavult, már nem támogatják, meg mi, de most készülök JS-re átírni vagy egy 70 oldalas programot belőle . Ezért kicsit tájékozódtam a JS felől, de még nem merültem egészen bele . Nincs mindenre időm tőle .
Hova? Mert próbáltam beírni egy fadobozba meg egy papírdobozba, de nem működött.
Leírtam, hogy lövésem sincs a js-hez. Már előre megírt kódot használok.
Kérlek legközelebb ne írj mert én segítséget kértem nem egy ilyen idedobott valamit.
Csak egy kérdés: ha ismerem a css html kódolást és megírom akkor pont a none használata nem megy? Ha meg nem ismerem mit kezdjek avval a válaszoddal, hogy + none.
Az egyik tulajdonságot, amivel a menü megjelenített sorainek menyiségét adod meg - ha jól emlékszek - 1 db vagy 0 db sormegjelenítésre kell állítani . Kipróbálni ki lehet . Aztán írd meg, hogy bevált-e ?
Van egy "projektem", amely egy távoli szervernek küld API requesteket, olyan módon, hogy a böngészőben futó javascript a saját apache szerveremnek küld egy "impulzust", ahol a php előállítja a kérést és küldi a távoli szolgáltatónak. Visszafelé ugyanez. Szolgáltató -> apache/php -> böngésző/js
Ugyanez megvan konzol/php -> szolgáltató útvonalon is.
Nekem igazából az kéne, hogy a böngészőben futó js-nek legyen direkt kapcsolata a szolgáltató szerverével, a javascriptes megoldáshoz viszont httpS-kérést kéne küldeni 431-es porton keresztül, amihez ?mindenképpen nodejs-t erőltetik, ami megint csak valami helyi szerverszerűség lehet.
Csak jó lenne ezt a lépést kihagyni. Mert egyébként erre apache szervert is használhatnék.
Excel-ben is megoldható VB-scripttel. Windowson. Windowsos megoldás kéne, de böngészőben.
Azonban az ott lévő lejátszási listát nem tudom megváltoztatni, mert azt az index.html fájlon belül, egy szürke - de egyébként szerkeszthető - zóna tartalmazza.
A fájl tartalma, amely erre vonatkozik, így néz ki:
adott egy $objektum1, amelynek vannak tulajdonságai,
$objektum2 = $objektum1 utasítás létrehoz egy másik hivatkozást az $objektum1-re
A gond az, hogy nem tudom, hogy hozzak létre egy új példányt, amely objektum tulajdonságai megegyeznek az előzővel, de attól függetlenek. De igen ... a létrehozok egy üres objektumot, amit feltöltök az első objektum tulajdonságaival. Onnantól független tőle ...
Na mindegy, csak ismerkedek az objektumok működésével. Használtam eddig, de most szembesültem pár számomra eddig érthetetlen "hibával".
Meglepő dolgot tapasztaltam a javascript objektumokkal kapcsolatban.
var tomb = new Array()
var objektum = { tulajdonsag1 , tulajdonsag2 ... tulajdonsagN }
tomb[ 0 ] = objektum
Ha itt megváltoztatom az objektum valamelyik tulajdonságát, akkor tomb[ 0 ]-nál is megváltozik. Gondolom, hogy ilyen módon 2 hivatkozás van egy adott objektumra.
De ha létrehozok egy új objektumot ( var objektum = { tul1, tul2, tulN } ), akkor az előző objektum a tomb[ 0 ]-ban tovább él, annak ellenére, hogy az új objektum létrehozásával megszüntettem az előzőt.
Ez most nem tudom, hogy jó-e vagy rossz-e, de php-ban meg eléggé másképp van.
Valójában ez már php-s problémakör, ott vajon hogyan hozok létre egy új objektumot úgy (ugyanazzal a változónévvel), hogy az előzőt rögzítem?
Mondjuk c:\users\rpatrik1 alatt csinálsz egy Web mappát (tehát c:\users\rpatrik1\Web), oda teszed ezt mountain.html néven, mellé a pic_mountain.jpg-t, azután A Firefox-ban meg ezt próbáld: file://C|/users/rpatrik1/Web/mountain.html
attól függ inkább, hogy hogy képzelted ezt a statisztikázást, ami mondjuk gyakori minden nagyobb oldal esetén, hogy mérik a különböző viselkedéseket az oldalaikon.
Mielőtt félreétenétek, olyan kódot szeretnék létrehozni, amely statisztikát készít az oldalamra látogatók tevékenységéről, mint pl. kattintás, görgetés, stb. Erről természetesen tájékoztatom a felhasználót, de lehetséges, hogy a böngésző/antivirus védekező mechanizmusa támadásnak veszi a dolgot.