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.
Az a kérdésem, hogy ha a weboldalamon JavaScript kódot szeretnék elhelyezni, mi az, amire ügyelni kell, hogy a böngésző/antivírus/firewall ne kártékony kódként azonosítsa és ne blokkolja? Azt is megköszönöm, ha egy releváns weboldalt vagy pdf-et linkeltek. Az alkalmazott védekező mechanizmusok érdekelnek, és hogy mit vesznek figyelembe. Például mi alapján hoznak létre blacklist-et, stb. Kösz mindenkinek!
Ez egy menüpont <li>-ket különböztet meg, és amelyikre ráviszem az egeret ott animál, és amelyikre kattintok ott jelzi négyszöggel, hogy ki van jelölve. Na most a click eseménye false-t ad vissza, és iylenkor megjegyzi, hogy mire kattintottam, de nem veszi be a mögötte levő linket (amit
HTML-ből a href=""-el adtam meg. Ha meg truet ad vissza, akkor megy a link, de nem jelzi hogy melyik menüre kattintottam rá. Hogy tudnám azt elérni, hogy az animáció is ottmaradjon a kiválasztott menün, és még a link is működjön?
Segítséget előre is köszönöm. (ha hiányos infókat adtam meg, akkor meg előre is bocs :) )
Hobbi szinten fotózom, weblap szerkesztéshez / készítéshez nem értek – mégis belekerültem, próbálkozom vele. A program amit használok egy végtelen primitív, de számomra annál egyszerűbb, kezelhetőbb – „web page maker” – viszont eljutottam addig, hogy azt mondhassam, ez kevés nekem. Így kívül kerültem a program hatáskörén, próbálom egyéb külső segítséggel moddingolni, fejleszteni a honlapom…itt viszont már az én tapasztalatom bizonyult kevésnek – egyszerűen nem értek hozzá. (www.molnarbence.com)
A célom elvileg egyszerű. A képnézegetést, galériát szeretném lightbox szerűen megoldani, de 1 lightboxban nem egy képet megjelenítve, hanem egymás mellett sokat…ezt alapjaiban véve sikerült megoldani, egyetlen kivétellel, aminek a forrása is kissé más. A weblapomon van egy legördülő lista, aminek meg tudtam adni a célokat – ha kiválasztod őket, hova ugorjon. S ezt is ugyan olyan lightbox szerűen szeretném kivitelezni, akár csak a többi (sport, koncert, egyéb, kapcsolat) kategóriát. Ha most kiválasztasz egyet a legördülő közül, láthatod, hogy hogyan működik, egyszerűen egy másik oldalra dob át.
A web-oldal megjelenítő „lightbox” (lightwindow - http://www.p51labs.com/lightwindow) működése:
- megadottfájlokat felmásolsz, - a html kódos weblapodba beillesztesz egy kódot head alá:
<div id="html1" style="position:absolute; overflow:hidden; left:77px; top:498px; width:200px; height:125px; z-index:7"> <script language="javascript"> function gotoUrl(url) { if (url == "") return; location.href = url; } function newWin(url) { // url of this function should have the format: "target,URL". if (url == "") return; window.open(url.substring(url.indexOf(",") + 1, url.length), url.substring(0, url.indexOf(","))); } function fnOnChange(){ gotoUrl(selector.options[selector.selectedIndex].value); return true; } var selector = (document.getElementById)? document.getElementsByName("formselect1")[0] : document.all.formselect1; selector.onchange=fnOnChange; </script></div>
Gondolom ebbe kellene valahogyan beleilleszteni a class="lightwindow" kódot, viszont nekem sehogy nem akart működni – minden esetben egész egyszerűen csak átdobott az oldalra…ötlet, vélemény, tanács? Segítségetek előre is köszönöm, Üdv, Bence :)
Asszem ehhez mostmár szagértőt kell hívnom. Frissítettem én már mindent, vindózt, javát meg minden sz*rt, de hiába. Az is lehet, hogy a tűzfal cseszte el?