Blokowanie zmian w kodzi źródłowym strony

0

Witam jak mogę zrobić, aby ktoś po naciśnięciu na "zbadaj element" nie mógł zmienić zawartości wybranego diva? Może być w js i php lub html

2

Jedyna opcja jaka mi przychodzi do głowy, by tego dokonać to napisać plugin do przeglądarki, który by blokował badanie elementów. Ale normalnie tworząc stronę zawsze będzie możliwość edycji, poza tym... plugin musiałby być przygotowany na każdą możliwą przeglądarkę, więc nie ma opcji na to. Ogólnie sam pomysł jest ciutkę bez sensu moim zdaniem.

Dlaczego chcesz to zrobić? Jaki jest powód?

3

@Gouda105: jak masz ceny, które potem sumujesz w JS'ie - to nic nie zmienia. Przecież ja mogę równie dobrze zmienić ceny na froncie w takim Amazonie, Allegro, Ebayu czy gdziekolwiek indziej.

Myślę, że problem możesz mieć gdzieś indziej. To że ceny sumujesz w js'ie to jedno, a to gdzie faktycznie je obsługujesz to drugie. Jeśli mowa o "sklepiku" internetowym (czy jakimś projekcie na studia) to powinno to wyglądać tak, że masz ID produktów i to właśnie te ID przesyłasz na backend - tam dokonujesz sumowania cen. Nigdy nie wyliczaj cen zamówienia po stronie klienta.

0

Ok, pomyślę coś i może wymyślę

4

To tylko to dokładniej opiszę w punktach

  1. Użytkownik na froncie widzi ceny produktów - może je dowolnie zmieniać, nawet jeśli JS wylicza sumy przed złożeniem zamówienia.
  2. Każdy produkt w koszyku ma swoje ID.
  3. Po złożeniu zamówienia - produkty z koszyka trafiają do backendu, przesyłasz tam tylko ID produktu i ilość sztuk, ceny są zbędne, bo powinieneś mieć je ustalone np. w bazie.
  4. Po stronie backendu wyliczasz całkowity koszt zamówienia i dajesz np "Podsumowanie zamówienia" (na tej stronie z podsumowaniem użytkownik nadal może zmienić cenę, ale to też nic nie zmienia)

Ogólnie cała logika biznesowa opiera się na tym ile i jakie produkty ktoś dodał, a to ile one kosztują liczymy tam gdzie użytkownik nie ma dostępu czyli na backendzie.

0

Ok, dziękuję za pomoc.

1

A czy da się zrobić w html coś, czego nie będzie widział użytkownik, a będzie w kodzie

Nie. Zasada jest taka, że wszystko co jest w HTML (oraz ogólnie - cała zawartość strony) MUSI być przesłana do przeglądarki, żeby ona mogła te treści wyświetlić, wykonać skrypty, pokazać obrazki itp. W związku z tym nie masz kontroli nad tym, co się dzieje później z tymi danymi.
Serwer je przesyła do komputera/przeglądarki użytkownika, a dalej to już jedynie zależy od umiejętności oraz woli użytkownika, co z tymi danymi zrobi, jak je przetworzy albo zmieni.

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