Jak zrobić, aby kod html działał w php bez pokazywania się w kodzie przeglądarki?

0

Witam,
mam taki kod:

<?php 
  echo "
  <script>var mieso = ".$row['mieso']."</script>
  <script>var chleb = ".$row['chleb']."</script>
  <script>var kamien = ".$row['kamien']."</script>
  <script>var drewno = ".$row['drewno']."</script>
  <script>var monety = ".$row['monety']."</script>
  <script>var poziom = ".$row['poziom']."</script>
  <script>var chatki = ".$row['chatki']."</script>
  <script>var pola = ".$row['pola']."</script>
  <script>var farmy = ".$row['farmy']."</script>
  <script>var pracownicy = ".$row['pracownicy']."</script>
  <script>var wolnipracownicy = ".$row['pracownicy']."</script>
  "?>

I on pokazuje się w kodzie strony (tam w przeglądarce) i jak mogę tego uniknąć? Czy da się zrobić, aby działał bez echo?

1

Co Twoim zdaniem znaczy - działanie kodu html w phpie, bez pokazywania się w kodzie przeglądarki? Podaj konkretny przykład co chcesz osiągnąć, co masz do tej pory i jaki rezultat osiągasz.

0

Chcę, aby ten kod działał bez pokazywania się w kodzie w przeglądarce. Może być bez tagów <script>, ale musi tworzyć zmienną js w tym pliku.

0

JS działa po stronie użytkownika, więc dane te musisz jakoś do tego użytkownika wysłać - w Twoim przypadku umieszczasz je w zmiennych, co jest ok w przypadku początkujących; krok dalej jest wysyłanie ajaxem, a "trzecią strefą wtajemniczenia" stanowią websockety - w każdym z tych przypadków użytkownik może jednak wszystkie te dane odczytać (np. z poziomu zakładki Network w narzędziach deweloperskich przeglądarki) - tego nie unikniesz.

0

No, ale te zmienne idą do bazy danych. Jak robią to profesjonaliści, że im nikt nie zmienia tego?

2

To, o czym mówisz, nazywa się security by obscurity i jest na ogół potępiane - rozwiązanie powinno być bezpieczne z powodu zastosowanych algorytmów oraz walidacji, a nie dlatego, że nikt nie wie jak w tym grzebać albo nikt nie ma dostępu do kodu.

Jak robią to profesjonaliści, że im nikt nie zmienia tego?

Zależy co rozumiesz poprzez to - jeśli tworzysz grę w stylu OGame czy Plemiona, no to co do reguły po stronie użytkownika (przeglądarki) nie powinny dziać się żadne istotne obliczenia; cała rozgrywka (np. odliczanie czasu do dokończenia budowy budynku) powinno być po stronie serwera i to on powinien zarządzać tym, że ok, minęło pięć minut - pora zapisać dane do bazy - nie żadne setTimeout() w przeglądarce użytkownika, bo to byle script kiddie obejdzie w kilka minut.

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