전자 상거래를 처음부터 구축하고 있으며 사용자가 로그인하지 않고도 수행 할 수있는 많은 작업이 있습니다 (장바구니에 항목 추가, 자신의 맞춤형 제품 작성) . 이를 해결하기 위해 UUID를 포함하는 쿠키를 생성하고, MySQL 테이블 "Users"에 UUID를 저장하고 모든 정보를 해당 UUID에 연결합니다. 사용자가 결국 계정을 등록 할 때 원래 UUID와 연결된 "Registered_Users"테이블에 닉네임, 해시, 소금 및 전자 메일을 저장합니다 (NULL 필드가있는 단일 테이블을 사용할 수도 있지만 이는 중요하지 않습니다) 등록되지 않은 경우 사용자에 관한 정보를 검색하지 않으면 쓸모 없게됩니다.PHP와 UUID를 사용하여 동적 웹 페이지 상태를 추적 유지
사용자가 쿠키를 삭제하면 어떻게됩니까? UUID는이 작업에 적합한 선택입니까?
전체 전자 상거래가 SSL보다 뒤떨어져 있습니다.
등록되지 않은 사용자를 "정리"해야하는지 여부를 결정하는 좋은 기준은 무엇입니까? 고정 된 비활성 시간은 너무 얕습니다. –
auto_increment를 사용하면 동시성 문제가 발생합니다. 단계는 다음과 같아야합니다. 1) 새 행을 작성하십시오. 2) ID를 검색하여이를 쿠키에 저장하십시오. 이 작업은 원자 적이어야하고 PHP/MySQL에서는 트랜잭션을 사용하지 않고 가능하지 않다고 생각합니다 (가능한 한 많이 피하고 싶습니다). –
'얕은'이란 뜻이 확실하지 않습니다. 생성 날짜를 사용하지 않고 마지막 활동 시간을 사용하지 않고 큰 간격 (30 일 이상)을 선택하면 돌아 오지 않거나 쿠키를 삭제하지 않은 사용자 만 삭제할 수 있습니다. 두 개의 동시 요청이'Users'에 레코드를 생성하면, 항목은 자동 증가 ID를 가지며'PDO :: lastInsertId' 또는'mysqli-> insert_id'를 호출하면 쿠키에 저장할 수있는 두 개의 다른 ID가 반환됩니다. 하나의'INSERT' 문 (트랜잭션을 사용하지 않고)은 아주 원자 적입니다. – chiborg