2012-08-23 2 views
0

브라우저 세션 당 하나의 POST 만 허용하려면 어떻게합니까?브라우저 세션 당 하나의 POST 만 허용하려면 어떻게합니까?

+4

이상하게 보입니다. 유스 케이스? – mrtsherman

+7

브라우저에서이 문제를 완전히 막을 수 없으므로 중요한 경우 서버 측 솔루션을 조사해야합니다. –

+5

이것이 실제로 문제를 해결할 좋은 방법이 아니라고 강력하게 의심됩니다. – KRyan

답변

0

제출을 처리 한 후 정보를 $ _SESSION에 저장하고 처리 요청 시작시 $ _SESSION에 이전에 저장 한 정보가 있는지 확인하십시오.

1
<?php 
session_start(); 

if (isset($_SESSION['already_posted'])) { 
    echo "Already posted."; 
    exit(); 
} 

$is_valid_post = isset($_POST['txt_udid']); // && validate stuff...; 

//... process $_POST.... 

if ($is_valid_post) { 
    $_SESSION['already_posted'] = 1; 
} 
+0

코드에 어떻게 추가합니까? –

+1

그것은 서버 측 PHP 코드입니다. 질문은 PHP로 태그가 붙어 있으므로 괜찮을 것이라고 생각했습니다. POST를 처리하는 서버 측 코드가 필요합니다. PHP에서는 브라우저 세션 데이터를 참조하기 위해'session_start'를 호출 한 후'$ _SESSION' 글로벌을 사용합니다. – EthanB

+0

나는이 질문을 한 이유가되는 코드를 얻지 못했습니다. 내 친구가이 코드를 만들었지 만 6 주 동안 휴가를 보내고 있습니다. –