Menu
Jest wolny
rejestracja
Dom  /  NA/ PHP _SELF w atrybucie działania formularza. Abulia Abazia mcp akcja php

PHP _SELF w atrybucie działania formularza. Abulia Abazia mcp akcja php





MCP Fusion ™ zestaw akcji Photoshopłączy najwięcej
wszechstronne i wygodne sekwencje akcji w pięknym kolorze
i konwersja czarno-biała.
MCP Fusion™ zawiera 56 potężnych akcji Photoshopa,

Poniżej zamieszczam tłumaczenie (bez korekty) z strony z opisem :

MCP Fusion™ zawiera 56 potężnych akcji Photoshopa,
aby pomóc Ci osiągnąć artystyczny wizerunek, którego pragniesz!

21 kolorów sekwencji: jednym kliknięciem
Kolor jako podstawa wszystkich działań kolorystycznych, masz niezawodne,
wydajny przepływ pracy na każdym kroku.
Mieszanie i dopasowywanie kolorów Color Fusion umożliwia łączenie
kolor gra dla nieskończonych wariacji.

Osiem czarno-białych akcji robotniczych: jedno kliknięcie czarno-białe,
jako podstawa wszystkich czarno-białych działań masz solidny przepływ pracy
w każdym działaniu. B&W Fusion daje akcje miksowania i dopasowywania
masz możliwość łączenia czerni i bieli w nieograniczonych kombinacjach.

Siedem działań korygujących narażenie:
pomoc z olśnieniem,
cienie i ogólną jasność obrazu.

13 wzmacniaczy efektów specjalnych: w tym prawdziwa akcja
ustawienie koloru słonecznego i wahadłowego, działanie tonizujące.

Siedem działań kontrastowych i wyostrzających: do druku i
sieć z opcjami selektywnego stosowania wyników.

W tym artykule szczegółowo opisano użycie zmiennej PHP _SELF.

Co to jest zmienna PHP _SELF?

Zmienna PHP _SELF zwraca nazwę i ścieżkę do aktualny dokument(w stosunku do katalogu głównego dokumentu). Możesz użyć tej zmiennej w atrybucie działania formularza. Istnieją również pewne niuanse, o których powinieneś wiedzieć. Oczywiście nie możemy w żaden sposób ignorować tych niuansów.

Rzućmy okiem na kilka przykładów.

Echo $ _SERVER ["PHP_SELF"];

1) Załóżmy, że plik php znajduje się pod adresem:

Http://www.yourserver.com/form-action.php

W takim przypadku zmienna PHP _SELF będzie zawierać:

"/form-akcja.php"

2) Załóżmy, że twój plik php znajduje się pod tym adresem:

Http://www.yourserver.com/dir1/form-action.php

PHP_SELF będzie:

"/katalog1/form-akcja.php"

PHP _SELF w atrybucie działania formularza. Dlaczego była tam potrzebna?

Zwykle Zmienna PHP _SELF jest używany w atrybut działania tag formularza. Atrybut action określa adres, na który zostanie przesłana treść formularza po potwierdzeniu (użytkownik klika w przycisk z typem = „prześlij”). Z reguły jest to ta sama strona, z której wyszedł formularz.

Jeśli jednak zmienisz nazwę pliku, do którego odwołuje się formularz, będziesz musiał zmienić nazwę pliku w atrybucie działania, w przeciwnym razie formularz nie będzie działał.

Zmienna PHP _SELF zaoszczędzi ci niepotrzebnych poprawek, ponieważ adres strony zostanie wygenerowany automatycznie na podstawie nazwy pliku.

Załóżmy, że masz plik z formularzem form-action.php i chcesz, aby formularz został przesłany do tego samego pliku po przesłaniu. Zwykle piszą tak:

Ale możesz użyć zmiennej PHP _SELF zamiast form-action.php. W takim przypadku kod będzie wyglądał tak:

" >

Kod dla form-action.php

Połączmy skrypt z formularzem:

$ imię"; Echo"
Możesz ponownie skorzystać z poniższego formularza, aby wprowadzić nową nazwę. ";)?> ">

Kod u góry strony HTML zostanie wykonany jako pierwszy. Pierwsza linia kodu sprawdza, czy formularz został przesłany, czy nie. Jeśli istnieje $_POST ["submit"], to wykonywana jest konstrukcja IF (TRUE) i wyświetlana jest nazwa wprowadzona przez użytkownika.

Jeżeli zmienna $_POST ["submit"] nie istnieje, to formularz nie został przesłany i odpowiednio konstrukcja IF nie zostanie wykonana (FALSE). Dlatego nazwa użytkownika nie będzie wyświetlana.

Złe punkty związane ze zmienną PHP _SELF

Zmienna PHP _SELF służy do pobrania nazwy i ścieżki bieżącego pliku - dobrze, ale może być również użyta przez hakerów - zła. Jeśli Twoja strona ma PHP _SELF, użytkownik może wpisać ukośnik (/) i napisać złośliwe skrypty XXS.

Rozważmy przykład:

"metoda =" post ">

Teraz, jeśli użytkownik wszedł z normalnego adresu URL, pasek adresu będzie zawierał coś takiego:
http://www.twojadomena.com/form-action.php
a powyższy kod można odczytać tak:

W tym przypadku, jak widać, wszystko jest w porządku.

Rozważmy teraz sytuację, w której użytkownik zaczyna „oszukiwać” za pomocą paska adresu:
http://www.twojadomena.com/form-action.php/%22%3E%3Cscript%3Ealert("xss")%3C
/ skrypt% 3E% 3Cfoo% 22

W takim przypadku po uruchomieniu PHP Twój kod będzie wyglądał tak:

Możesz sam zobaczyć, że do kodu dodano tag skryptu i polecenie alertu. Po załadowaniu tej strony użytkownik zobaczy okno ostrzegawcze. To jest prosty przykład wykorzystania zmiennej PHP _SELF.

Pomiędzy tagami skryptu można dodać dowolny kod JavaScript. Haker może również utworzyć link do pliku JavaScript, który będzie znajdować się na innym serwerze. Plik ten prawdopodobnie zawiera złośliwy kod, za pomocą którego haker może zmienić zmienne globalne i przesłać formularz na inny adres w celu przechwycenia danych wprowadzonych przez użytkownika.

Jak uniknąć problemów z PHP _SELF?

Kłopotów można uniknąć, korzystając z funkcji htmlentities(). Spójrz na kod formularza, w którym obecna jest funkcja htmlentities().

"metoda =" post ">

Funkcja htmlentities () konwertuje wszystkie możliwe znaki na odpowiadające im jednostki HTML. Teraz próba ominięcia zmiennej PHP _SELF nie powiedzie się, a wynik wstrzyknięcia złośliwego kodu zostanie wyrażony w następujący sposób: