Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Github a projekt i tajemnicze rozwiązania
Forum PHP.pl > Forum > Kontrola i zarządzanie projektami
miccom
Cześć.
Chciałbym rozpocząć przygotowywanie portfolio na github ale nurtuje mnie jedna sprawa.


Jak zabezpieczyć kod aby ukryć niektóre rozwiązania mówię tu np. o takim banale jak zabezpieczeniu formularzy przed zmianami w html'u.
Mam unikalny kod, kilka osób już próbowało go rozkminić- ale nie udało im się co mnie niezmiernie cieszy- ale jeśli udostępnię ten kod na githubie- bardzo łatwo będzie można obejść to zabezpieczenie sad.gif i to mnie już martwi.

Macie jakieś pomysły jak rozwiązać takie elementy?
viking
Wydziel jako prywatne repo.
miccom
Cytat(viking @ 27.03.2021, 12:40:27 ) *
Wydziel jako prywatne repo.


Oki, po co więc tworzyć portfolio skoro tam będą same prywatne repozytoria?
viking
To ty zadałeś takie pytanie . Chcesz udostępnić kod ale tak żeby nikt go nie widział.
miccom
chodziło mi bardziej o zakrywanie niektórych linii kodu ;/
rad11
Przepraszam bardzo ale Ja nie znam czegoś takiego jak unikalny kod możesz nam o tym opowiedzieć?haha.gif
Pyton_000
Od biedy możesz zakodować czymś pokroju ionCube.

Ale zastanowiłbym się na twoim miejscu bo ideą Github/Gitlab itd jest właśnie to że jak coś jest publiczne to każdy ma nieograniczony dostęp do tego. Ukrycie kawałka kodu i udostępnienie tego publicznie to tylko kwestia czasu zanim ktoś to rozkoduje.
Inną kwestią jest to jeżlei to ma być portfolio to po prostu usuń ten kawałek kodu, a jeśli ma to być zarówno source of truh to niesetet musisz się bawić w kodowanie
vokiel
Jeżeli Twoje zabezpieczenie polega na tym, że jest bezpieczne jedynie wtedy gdy ktoś nie wie jak jest zrobione to jest to "Security through obscurity". Taki model zabezpieczeń...

Cytat
Security experts have rejected this view as far back as 1851, and advise that obscurity should never be the only security mechanism.
miccom
Cytat(vokiel @ 3.04.2021, 19:07:03 ) *
Jeżeli Twoje zabezpieczenie polega na tym, że jest bezpieczne jedynie wtedy gdy ktoś nie wie jak jest zrobione to jest to "Security through obscurity". Taki model zabezpieczeń...


Bardziej chodzi mi o to że np. koduję pewne dane i do zakodowania i rozkodowania potrzebuję hasło smile.gif
I np. tego hasła nie chciałbym udostępniać smile.gif

Nie chodzi mi o tajne kody i tajne rozwiązania bo takowych nie ma smile.gif a poza tym takich jeszcze nie potrafię tworzyć smile.gif
Pyton_000
no to hasło wrzucasz sobie do .env w projekcie ale tego pliku nie commitujesz...
miccom
Cytat(Pyton_000 @ 20.04.2021, 19:49:21 ) *
no to hasło wrzucasz sobie do .env w projekcie ale tego pliku nie commitujesz...


Idealnie, i to jest super rozwiązanie smile.gif
Pyton_000, jesteś wielki smile.gif

Dla drwiących podaję kod który nie powinien być publiczny....


  1.  
  2. //Kodujemy tajne dane
  3. $haslo = "tajne haslo, które nie powinno byc dostepne";
  4. $t["cena"] = $cena;
  5. $t["gold"] = 0;
  6. $t["adres"] = 1;
  7. $dane_first = base64_encode(serialize($t));
  8. $dane_second = md5($haslo . $dane_first);
  9. $cena_actual = '<strong>' . $cena . '</strong> '. panel_gry6;
  10. $kup_t = "<div class=\"zakup_sklep\" num=\"" . $dane_first . "\" code=\"" . $dane_second . "\">" . sklep4 . "</div>";


Gdybym przesłał te dane jako dane jawne, można je edytować w każdej przeglądarce podglądając kod źródłowy.

O ile rozkodować $dane_first i podstawić swoje dane to nie problem, to $dane_second już nie będzie takie proste nie znając hasła smile.gif

  1. //Rozkodowanie danych
  2.  
  3. $haslo = "tajne haslo, które nie powinno byc dostepne";
  4. $md5 = $this->path->num;
  5. $dane = $this->path->code;
  6.  
  7. if ($md5 <> md5($haslo . $dane)) {
  8. // uwaga... dane modyfikowane
  9. $stuffReverse['error'] = "błędne dane wejściowe";
  10. //exit();
  11. } else {
  12. $t = unserialize(base64_decode($dane));
  13. // dalsza obróbka na poprawnych danych
  14. //$t = zakodowane dane chronione przed np. edycją kodu źródłowego w konsoli ;)
  15. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.