Mam wbudowane adresy URL mojej witryny, takie jak przepełnione adresy URL stosu . Moje adresy URL są jak poniżej.Jak działają adresy URL przepełnienia stosu?
http://www.example.com/1255544/this-is-the-url-text
W tym adresem URL, 1255544
jest id i this-is-the-url-text
jest tekst tytuł URL, zarówno przechowywane w bazie danych. Zauważyłem, że adresy URL przepełnienia stosu działają na podstawie identyfikatora. Załóżmy, że tutaj jest stosem przelewowy URL
http://stackoverflow.com/questions/15679171/new-way-to-prevent-xss-attacks
W tym URL 15679171
jest id słupka. Kiedy zmienił tego identyfikatora do 15706581
bez dotykania new-way-to-prevent-xss-attacks
i naciśnięciu Enter URL automatycznie zmieniony na następujący adres URL:
http://stackoverflow.com/questions/15706581/simplecursoradapter-does-not-load-
external-sqlite-database-id-error
A kiedy próbowałem usunąć niektóre części tekstu tytułowego URL jak poniżej
http://stackoverflow.com/questions/15679171/new-way-to-preve
automatycznie koryguje URL jak poniżej:
http://stackoverflow.com/questions/15679171/new-way-to-prevent-xss-attacks
oznacza to, że dane są pobierane z bazy danych na podstawie id 15679171
i odpowiedni tekst tytułu adresu URL, new-way-to-prevent-xss-attacks
, jest dołączony zgodnie z identyfikatorem.
Ja też chcę to zrobić. Ale problem polega na tym, że nie zrozumiem, że jeśli ktoś zmieni identyfikator adresu URL, tekst tytułu powinien się automatycznie zmienić. Jak mam to zrobic?
myślałem następujące:
$url_id = $_GET["id"];
$url_txt = $_GET["url_txt"];
$qry = "SELECT * FROM mytable WHERE url_id = '{$url_id}' LIMIT 1";
$data = mysql_query($qry);
$data_set = mysql_fetch_array($data);
if($url_txt== $data_set["url_txt"]) {
// proceed further
} else {
$rebuilt_url = "http://www.example.com/" . $url_id . "/" . $data_set["url_txt"];
header("Location: {$rebuilt_url}") // Redirect to this URL
}
Czy to właściwy i skuteczny sposób, aby wykonać tę czynność, czy też nie? Czy istnieje rozwiązanie?
podczas ładowania strony, uzyskać URL z bazy danych przez id, porównać go z URL z paska adresu, jeśli to nie to samo , a następnie przekieruj do prawego adresu URL. –
Należy również uważać na wtrysk sql (przesyłanie $ url_id do int powinno wystarczyć). –
Cześć. Niedawno opublikowałeś pytanie o nazwie "How Stackoverflow Questions Answers System Works", i zostało ono przeniesione do innej witryny przez moderatora. Ups, zaatakuj dla nich ':)'. Sugeruję, żebyś to odesłał (użyj polecenia "kopiuj i wklej"), ale nazwij to "Jak zoptymalizować mój system podobny do StackOverflow". Pamiętaj jednak, że może być zamknięty jako zbyt dyskursywny, chociaż możesz uzyskać ogólne uwagi w komentarzach. Jeśli odświeżysz, zadzwoń do mnie tutaj (@halfer), a ja skomentuję. – halfer