Czy jest możliwa zmiana czasu na komputerze klienta przez uruchomienie skryptu?

1

Dzień dobry,

Napisałem wątek w dziale JS, ale nie wiem czy zostałem zrozumiany.

Czy jest możliwe napisanie skryptu php i wrzucenie go na serwer zewnętrzny tak, by po wejściu na stronę z tym skryptem można było zmienić czas na komputerze klienta? (Wykonanie jakiegoś exec()) Chodzi o telewizor, który ma fabrycznie złą datę systemową ustawioną, a której nie można zmienić przez menu tv. Już raz napisałem taki skrypt, chyba w php właśnie, albo w js, i uruchomiłem go na tym TV i data ustawiła się dobrze. Proszę o pomoc. Nawet jak nie wiesz do końca jak, wrzuć swoje uwagi. Telewizor ma chyba linuksa, bo data, jaka się ustawiła w systemie to 01-01-1970. Proszę o wszelką, nawet niepozorną pomoc.

Dziękuję.
Michał

3

PHP jest wykonywany/odpalany po stronie serwera. Tak samo ten exec o którym piszesz - jakby się wykonał, to też na serwerze. Raczej nie tędy droga.

1

Aha. A JS jest wykonywany po stronie klienta. Może przez JS. Kurcze napisałem już ten skrypt, tylko go gdzieś wrzuciłem albo skasowałem. Da się w jQuery czy innym cudeńku takie coś zrobić? Nie pamiętam kompletnie co ja wtedy pisałem w tym skrypcie.

2

Kwestia jest inna - ze względów bezpieczeństwa, wielu operacji nie da się wykonać przez JS. Bo jakby każdy skrypt mógł dowolnie grzebać w ustawieniach systemu/przeglądarki osoby oglądającej daną stronę, to mielibyśmy niezły bałagan oraz wiele możliwości działania przez szkodliwe/złośliwe skrypty. Na telewizorach się nie znam, więc może jest taka możliwość, ale co do zasady, to raczej skrypty mogą działać w obrębie przeglądarki a nie systemu, na którym jest ona odpalona.

0

Chyba znalazłem:

https://superuser.com/questions/302396/how-to-set-current-time-on-linux/897409

date --set="23 June 1988 10:00:00"
jutro sprawdzę i dam znać. Oczywiście trzeba to wklepać w window.exec('date --set="23 June 1988 10:00:00"'); i opakować w html. Jutro sprawdzę i dam znać. Ale coś mi się kojarzy, że chyba właśnie to wpisywałem.

Pozdrawiam
Miłego dnia
Michał

2

A może skup się na poprawnym ustawieniu tv lub jego naprawy?
W jakich sytuacjach ta data się resetuje? Nie masz w opcjach czegoś w stylu ustaw czas z tunera DVB-T lub DVB-s?

2

@mpaw: nie ma czegoś takiego jak window.exec();

1

Dzięki stary za radę.

Niestety. W tv są dwa zegary. Jeden działa dobrze i wyświetla godzinę którą pobiera z kabla cyfrowego, wyświetla podczas przerzucania kanałów. Niestety jest też drugi zegar, niezależny. Resetuje się przy resecie tv (reset wszystkich ustawień i skanowanie od nowa kanałów). Niestety tego drugiego nie ma nigdzie w ustawieniach ale to właśnie on towarzyszy przy przeglądaniu Internetu (www, Youtube, Netflix i co tylko jest wgrane) przy wejściu na www pojawia się komunikat że certyfikat jest o 18000 dni nowszy niż data systemowa i zaleca się nie korzystać z danej strony. A Youtube wywala błąd i nie da się odtwarzać filmów.

Ale luz. Ja wychodzę się na światopoglądzie chrześcijańskim, i zamiast wyrzucać lub wymieniać na nowe wolę naprawić to co mam. Teraz jest moda na "wymieniane na nowsze modele" zarówno w relacjach jak i w technologii. Ja wolę docenić to co mam i dopracować co się da bez wywalania.

Co prawda tv na gwarancji ale jeżeli się da to naprawię po swojemu. Faceci z serwisu sprawiali wyrażenie jakby siedzieli z ręką w nocniku. Ale to nic. Niech im Bóg błogosławi :)

Miłego dzionka, programersi. :)
Michał

0

Dziwne aby tv miał dwa zegary. Gdzieś myślę, że masz do tego ustawienia. No i poza tym to chyba resetu nie robisz codziennie?
Normalnie ze względu na bezpieczeństwo nie powinno się dać zmienić takich ustawień przy wejściu na stronę www jak już pisano.

0

Chyba już wiem jak to było. Faktycznie, kiedy kilka miesięcy temu, po zakupie tego TV próbowałem uruchomić YouTube na nim, okazało się, że jest data skopana. I faktycznie napisałem skrypt w JS, którym sprawdziłem, jaka jest data w przeglądarce (alert z aktualnej daty). Ale chyba do samej zmiany użyłem Node.js użyte przez jedno z tzw. fiddle. Nie mam już tego scratcha, ale poguglałem i wklepalem to (jeszcze nie działa, ale jestem blisko). Muszę jakoś dać prawa roota albo su do tego polecenia, ale póki co nie wiem jak. Jak ktoś z Was wie, chętnie zapożyczę.

https://repl.it/repls/UntimelyDarkblueObjectcode

Dzięki za wsparcie. Teraz komenda wywala się, bo nie ma uprawnień. Jestem cienki z linuksa i poleceń Node.js. Jak kto z Was kuma to, to chętnie się czegoś nauczę.

Dzięki
Michał

1 użytkowników online, w tym zalogowanych: 0, gości: 1