Co należy zrobić, aby zawartość atrybutu href: kodowanie HTML lub URL?jak kodować atrybut href w HTML
<a href="???">link text</a>
Z jednej strony, ponieważ atrybut href zawiera URL, powinienem użyć kodowania URL. Z drugiej strony wstawiam ten URL do HTML, więc musi być zakodowany w HTML.
Proszę, pomóżcie mi przezwyciężyć tę sprzeczność.
Dzięki.
EDIT:
Oto sprzeczność. Załóżmy, że w adresie URL mogą znajdować się znaki "<" i ">". Kodowanie URL nie ucieknie od nich, więc wewnątrz atrybutu href zostaną zarezerwowane znaki HTML, co jest niezgodne ze standardem. Kodowanie HTML będzie usuwać znaki "<" i ">", a kod HTML będzie prawidłowy, ale później pojawią się nieoczekiwane znaki "&" w adresie URL (jest to zarezerwowany znak dla adresu URL, jest używany jako ogranicznik parametrów ciągu zapytania) .
Reserved URL characters tworzy nadzbiór reserved HTML characters z wyjątkiem "<" i ">" zarezerwowanych dla HTML, ale nie dla adresu URL.
EDIT 2:
myliłam znaków '<' i '>', są one faktycznie procent uciekł przez kodowania URL. Jeśli tak, to kodowanie URL jest w tym przypadku wystarczające, nieprawdaż?
Próbowałeś czegoś tak daleko? –
Ten "wypróbowany czegokolwiek" mem staje się głupi. W przypadku odzyskiwania po błędzie przeglądarki dużą część kodowania danych stanowi ochrona przed problemami bezpieczeństwa. Jak powinieneś powiedzieć, że masz rację, jeśli coś próbujesz? Załóżmy, że każdy pakiet testów bezpieczeństwa ma wystarczające pokrycie? Jest to całkowicie uzasadnione pytanie o podstawową technikę. – Quentin
Quentin ma mniej więcej rację, ale pozostaje pytanie, jakie sytuacje mogą być sprzeczne? Czy możesz pokazać przykład? Czy wypróbowałeś oba rozwiązania i czy oni obaj pracowali, czy oboje nie działają? –