[PHP] Ukrycie kodu źródłowego formularza

Cześć.

Czy jest jakiś racjonalny sposób na ukrycie przed użytkownikami strony, kodu źródłowego formularza html?. Pomimo zamieszczenia go w znaczniki kanoniczne php, kod dalej jest widoczny :cry: .

Kodu HTML nie ukryjesz w żaden sposób. Możesz go zamaskować używając JS lub Ajax, ale zaawansowany użytkownik znajdzie kod HTML i tak np. poprzez wciśnięcie klawisza F12 w Google Chrome.

A mógłbyś podać racjonalny powód dlaczego chcesz ukryć HTML ?

Choćby SQL injection.

Nie chodzi mi o cały html, tylko o formularze przesyłające dane do bazy.

W takim razie każdy formularz jest na to podany. Totalny bezsens. Wystarczy dobrze zablokować formularz w php i nie będzie podatny na takie rzeczy.

Dobrze zablokowany formularz jest odporny na exploit?. Dlaczego Joomla jest tak na nie podatny?

To już nie mi oceniać który CMS jest podatny, który nie. Jeżeli się nie mylę to PHP-Fusion od którejś wersji bodajże 6 jest zabezpieczony, ale nie chcę nikogo wprowadzać w błąd.

Doprecyzuję, bo mam wątpliwości, czy o tym samym rozmawiamy:

  1. Formularz jest zawarty w pliku .php, który go wyświetla na stronie.

  2. Na stronie, tj. w przeglądarce, widać tylko kod HTML tego formularza, nie widać żadnego kodu źródłowego w PHP.

  3. Obsługą formularza zajmuje się stosowny kod w PHP, którego nikt nie zobaczy, bo jest on na serwerze i przed wysłaniem do przeglądarki klienta jest parsowany przed interpreter PHP - ten zaś może się wysypać (bardzo rzadkie przypadki, ale spektakularne) albo programista zrobi błąd (literówkę) i spowoduje błędne wyświetlenie kodu PHP w przeglądarce (to się też czasami zdarza).

  4. Przez powyższym można się zabezpieczyć umieszczając właściwy kod w miejscu poza stroną www i importując go w prostym skrypcie za pomocą instrukcji require lub include.

Kodu HTML strony nie zaciemnisz, ale też niewiele z niego można wywnioskować.

Można wywnioskować np: nazwy poszczególnych kontrolek formularza, a to już w jakiś sposób ułatwia budowę exploit-a - przynajmniej tak mi się wydaję.

Zamiast kombinować w drugą stronę nie lepiej zrobić tego w standardowy sposób tak jak robią to inni? Czyli zabezpieczanie kodu w PHP? Po prostu nie da się zrobić tak, aby przeglądarka widziała cały kod HTML lub interpretowała go w jakiś sposób, a użytkownik już nie. Jeśli chcesz się bawić pójdź dalej i zrób formularz w flashu, z niego będzie już dużo trudniej wydostać kontrolki i inne badziewia.

Zgadzam się z tobą. Jako, iż jestem adeptem myślałem, że są jakieś dodatkowe sposoby poza walidacja danych wejściowych, nie wykorzystując innych języków jak PHP.

Ale tego nie da się ukryć przed użytkownikiem, więc po co tracić czas i się tym zajmować? Pola formularza są wysyłane (poprzez POST czy GET) do serwera, ale nic nie przeszkodzi w podglądnięciu jakie dane są do serwera wysyłane, nawet jakbyś miał hermetycznie zamknięty program!