나는 이틀 동안 체크인 가능한 객실에 대한 검색 양식을 가지고있다. search.php 후, 나는 가능한 방을 나열했습니다. 나는 예약을 위해 체크인과 체크 아웃 날짜를 얻고 싶다. 올바른 방법은 무엇입니까?올바른 방법은 무엇입니까? URL 쿼리 또는 세션 열기?
1 urlquery : 세션을 사용
나는 이틀 동안 체크인 가능한 객실에 대한 검색 양식을 가지고있다. search.php 후, 나는 가능한 방을 나열했습니다. 나는 예약을 위해 체크인과 체크 아웃 날짜를 얻고 싶다. 올바른 방법은 무엇입니까?올바른 방법은 무엇입니까? URL 쿼리 또는 세션 열기?
1 urlquery : 세션을 사용
하면, 당신은 사용자가 여러 탭을 열면 사실을 기억하셔야합니다 사전에
감사 체크인 및 체크 아웃에 대한
<a href="rooms.php?roomID='. $value['room'].'&in='.$checkin.'&out='.$checkin.'">
2 개 세션 그의 브라우저에서 모든 탭이 동일한 세션을 공유하므로 코드 작성이 어려워 질 수 있습니다 .-)
URL을 사용하는 것이 좋습니다. XSS에주의하십시오. 상황에 따라 htmlspecialchars()
및/또는 urlencode()
과 같은 기능을 사용하여 출력을 올바르게 이스케이프 처리하는 방법에 대해 생각해보십시오. 하지만
한 가지 : 이론적으로, 당신의 rooms.php
스크립트가을 (데이터베이스에 뭔가를 저장 같은) 일부 데이터를 수정하는 경우, 당신은 HTTP POST
을 사용하고 GET
HTTP에서 안된다.
약 Safe methods을 살펴보고 Idempotent methods and web applications을 읽는 것도 재미있을 수 있습니다.
세션 변수를 사용하는 것이 서버 측에 더 많은 데이터를 저장하고 세션 토큰을 쿠키로만 사용자에게 전달할 수 있기 때문에이를 수행하는 더 좋은 방법 일 수 있습니다. 유일한 문제는 사용자가 쿠키를 사용할 수없는 경우입니다. 이것은 모든 사용자 중에서 아주 작은 비율입니다.
세션을 사용하면 모든 링크와 모든 페이지의 모든 양식에 매개 변수를 추가 할 필요가 없으며 사용자가 브라우저가 아닌 페이지를 닫은 후에도 계속 작동한다는 것을 의미합니다. 나중에 다시. 호텔 거래를 검색 할 때마다 항상이 작업을 수행합니다.
URL 매개 변수에 대해서는 사용자에게 전달하기 전에 모든 매개 변수를 이스케이프 처리해야합니다. 다음을 수행하십시오 :
<?php
$url = "rooms.php?roomID=" . urlencode($value['room'])
. "&in=" . urlencode($checkin)
. "&out=" . urlencode($checkout)
?>
<a href="<?php echo $url ?>">...</a>
그런 식으로 사이트 간 스크립팅 공격에 대한 페이지가 열리지 않습니다.