V oblasti JavaScriptu jsem absolutní amatér, a tak mám jednu otázku - potřeboval bych nějakým způsobem sdělit php skriptu, jenž bude běžet kdesi na serveru, sdělit, že zrovna tenhle počítač patří mezi povolené - v tématu http://www.webzdarma.cz/forum/read.php?f=2&i=26268&t=26268 jsem dostal radu změnit na "povolených" počítačích hlavičku u internetového prohlížeče a tu pak php skriptem testovat, není to špatné řešení, ale nejeví se mi jako úplně ideální. Moje myšlenka je nějakým způsobem otestovat výskyt určitého souboru na lokálním počítači a informaci, zda existuje či nikoliv, pak předat php. Napadlo mne, že JavaScript by to mohl umět, takže otázka zní:
Dá se JavaScriptem (nebo čímkoliv jiným) nějak otestovat výskyt konkrétního souboru na lokálním počítači a v případě existence z něj ještě třeba něco načíst? Pokud ano, tak prosím přímo o daný kousek kódu...
Opravdu si myslím, že to nejde, přecejen je třeba trošku ctít soukormí a bezpečnost uživatele.
Džej Ár: Koukám, že jsi všude :) Ale každopádně díky, jen se mi tomu prosě nechce nějak věřit... JavaScriptem jsem se nikdy nijak víc nezabýval, ale tohle mi připadá že by tam mělo být jako jedna ze základních věcí...
BTW: Jak je třeba realizován upload nějakého souboru z místního počítače na web?
to je posíláno pomocí formuláře a je to klasická součást webu. Každopádně jde posílat jen soubor, který si uživatel vybere a odešle ho sám. Nebylo by příliš dobré, aby mohl kdokoliv z webu číst soubory na klientově disku, podle mě to nejde a pokud by to náhodou šlo, tak by to dyla celkem velká bezpečnostní díra. Jinak si z javascriptem taky příliš netykám, tak si kdyžtak zkus počkat, jestli neodpoví ještě někdo jiný ;)
K uploadu nepotřebuješ ani JS.
http://www.jakpsatweb.cz/html/formulare.html#input
pomocou js pocybujem, ale pomocou vb urcite, staci len hladat (a najst)
proto je vzdy bezpecnejsi pouzivat jine prohlizece nez MSIE :-)
Ok, takže máte někdo nějaký konkrétní skript?
vzdyt ti to tu bylo napsano, ze js to nejspis neumi, ale umi to VB script - ten ale podporuji jen nektere verze MSIE, takze je nepouzitelny, navic neni standardni..
Najdi si na internete virus "love letter for you" alias "i love you", a ked si prezrieš jeho obsah určite hňeď pochopíš čo robí (VYHĽADÁVA súbory na disku pomocou vb a prepisuje ich). Nebudem ti tu uvádzať konkrétne linky, kde ho stiahneš, skús použiť google (a rozum)!
To, co popisujete je vlastnost ActiveX. JS ma v manualu napsane, ze z pochopitelnych duvodu praci na lokalnim FS nepodporuje...
ActiveX je ted stejne v IE std zakazane. Navic jinde jak v IE nechodi...
Už v tom minulém vlákně jsem psal o možnosti cookies. Vyrobíš si read-only cookie (soubor na lokálním disku) a tu umístíš na "vyvolené" počítače. Pravda, cookies lze zakázat, ale proč by to uživatelé dělali, když by se potom nepřihlásili?
What is a Cookie?
A cookie is often used to identify a user. A cookie is a small file that the server embeds on the user's computer. Each time the same computer requests for a page with a browser, it will send the cookie too. With PHP, you can both create and retrieve cookie values.
Jak se dělá read-only cookie?
Cookie je textový soubor, takže mu stačí dát systémové atributy read-only (u nižších systémů Win98 apod), u vyšších mu můžeš dát i práva, aby s ním uživatel nemohl manipulovat (WinXP, Linux). Ten read-only je tam hlavně proto, aby si to uživatel omylem nevymazal (ve Firefoxu: Nástroje | Možnosti | Soukromí | Cookies | Vymazat). Výhoda cookies je, že je to univerzální přes všechny prohlížeče. V tomto případě (autorizace počítače), ale bude třeba je nastavit na konkrétním počítači pro každý používaný prohlížeč zvlášť. Ale to je jednorázová akce.
Postup "výroby": webové stránky ti ho vytvoří (po autorizovaném přihlášení = správce obejde všechny počítače, přihlásí se tam a cookie se vytvoří, nebo třeba na speciálním odkazu). Pak už jen ten soubor ochráníš proti zápisu.
Jinak tady je povídání, jak na cookies v PHP:
http://www.builder.cz/art/php/php_cookies.html
Tyjo, zbi, to není špatný nápad ;) Kopřivničáci se prostě nezapřou ;)
zbi, a když ti doma vržou dveře, tak je zazdíš, ne?
A co navrhneš ty na zadání nahoře:
"nějakým způsobem otestovat výskyt určitého souboru na lokálním počítači a ... pak předat php"
Navrhni něco univerzálního, co nebude vrzat, abys ušetřil za zedníky. :-)
Já netvrdím, že moje řešení je jediné, super, excelentní. Jen (dle mého názoru) řeší uvedený problém.
Tvoje řešení je zajímavé, ale, co když bude chtít dotyčný ještě někam jinam a tam budou potřeba cookie. A nezapíšeš a můžeš se jít klouzat. Tohle je podivné řešení....
Zmena identifikace prohlizedala je podle me lepsi. Je to jednoznacne a funkcni. Navic nezasahujes do funkcnosti. Teda nevim jak zmenit identifikaci IE a opery. Ale nekdo to urcite vi.
MzM: proč by někde jinde nezapsal cookie? Vždyť akorát zakáže smazání te jedné důležité, jinak ostatní jsou snad nedotčeny....
jinak jak na to v IE jsem už někde psal svou teorii, ale nezkoušel jsem to...
no ja mam takovej pocit, ze ff si uklada vsecky cookies do JEDNOHO souboru a sice cookies.txt v adresari s profilem
DA, jo o tohle mi šlo, cookies jsou ve FF v jednom souboru. A koukám Opera taky, akorát IE to má v moc souborech, ale zase tam má index.dat. A nechci vědět, co to udělá, když mu zakážeš smazání nějakého souboru....
MzM: aha, no já jsem si to neověřoval, pochopil jsem jen z toho, co zbi napsal, že to je všude stjně.. a jak to s cookies chodí jsem studoval jen kdysi dávno na IE.... no, ale tak snad by ani nemusely být chráněné proti zápisu, když by ta cookie neexistovala, nehlásilo by to něco ve smyslu, že se buď pokouší o neoprávněný přístup a/nebo mají zavolat správce..
No jo, utloukli jste mě čepicemi. :-) IE to má v mnoha souborech, ostatní v jednom, takže přímo read-only použít nepůjde. Snad tedy klasické cookie a BFU neříkat nic o možnosti jejich mazání.
Tak co navrhnete jiného, aby se dal vyřešit původní problém?
přečíst javascriptem (EcmaScriptem) soubor z disku? Už jsem psal, že to nejde a nepůjde. Možná v nějakém M$ clonu. To je moc velká bezpečnostní díra...
MzM... jasně, ale my se nesnažíme řešit přímo ten dotaz, jak je zde položen, ale tu identifikaci pracovních počítačů, kterou pomocí toho chce vyřešit...