2014-06-20 2 views
0

저는 laravel로 PHP 응용 프로그램을 실행하고 있습니다. 매번 사용자 정보에 대해 SQL 조회를 사용해야합니까? 아니면 한 번 조회 한 후 세션/캐시에 저장해야합니까? 사용자가 변경하지 않으면 정보가 자주 변경되지 않으므로 효율성 관점에서 정보를보고 싶습니다.세션 또는 데이터베이스 조회?

+0

현재 로그인 한 사용자의 사용자 정보 만 조회하려고한다고 가정합니다. 세션은 정상적으로 작동합니다. 당신이 돌아 다니고 다른 사용자의 정보를 쿼리하기를 원하지 않는다면, 세션은 좋지 않은 생각이고 나는 지속적인 저장소 검색을 고수 할 것입니다. –

답변

1

의 손실보다 더 많은 것이다. 구성에 따라 Laravel은 데이터를 보존하며 통합 된 API을 사용하여 데이터에 쉽게 액세스 할 수있게합니다.

Check Configuration

인증 구성 파일이 인증 시설의 동작을 조정하기위한 몇 가지 잘 문서화 옵션 을 포함 응용 프로그램/설정/auth.php,에 위치

. 기본적으로

는 Laravel은 기본 Eloquent 인증 드라이버와 함께 사용할 수 있습니다 귀하의 app/models 디렉토리에 User 모델이 포함되어 있습니다. 응용 프로그램에서 Eloquent를 사용하지 않는 경우 Laravel 쿼리 작성기를 사용하는 데이터베이스 인증 드라이버를 사용할 수 있습니다. 당신이 그렇게 돈,

$user = Auth::user(); 
$userEmail = Auth::user()->email; 

Laravel이 id 원래의 데이터가 데이터베이스에 저장됩니다 사용자를 저장하는 session를 사용합니다 :

은이 같은 것을 사용할 수 있습니다 사용자/사용자 데이터를 검색하려면 사용자 데이터에 대해 걱정할 필요가 없습니다. 그냥 설명서를 확인하고 Laravel 해보십시오.

-2

개인적으로 나는 데이터베이스 방식을 사용합니다. 어떤 사람들은 이것을 모르고 있지만 세션은 실제로 공개적으로 이용 가능합니다. 따라서 해당 세션의 모든 데이터는 세션 해킹으로 빨간색이 될 수 있습니다.

이제는 (우리가 알기로는) 이런 일이 자주 발생하지 않지만 그렇게됩니다. 그리고 ID로 사용자를 찾는 것이 데이터베이스에서는 그리 어렵지 않습니다.

데이터베이스 전면에 스틱 보안상의 이유로

는 현재 다음 사용자 정보에 기록 Laravel에게 맡겨에 대해 얘기하는 경우 데이터베이스 이득 CPU 시간

+0

불행히도 당신은 선생님이라고 착각했습니다. 세션은 빨간색이어야합니다. 그것은 많이 발생하지 않지만 그렇습니다. 또한 세션에 암호를 게시하지 않는 이유 중 하나이기도합니다. 원인 세션이 취약합니다. – Matt

+0

'''session.use_trans_id'''를 비활성화하고'''session.cookie_httponly'''와'''session.use_only_cookies''를 활성화 시키면 사람의 세션을 납치하는 것이 간단하지 않습니다. 게다가 현대 프레임 워크는 암호화 된 쿠키를 사용하여 트래픽을 도청하는 사람조차도 유용한 정보를 얻을 수 없습니다. – amenadiel

+0

많은 사람들처럼 서버의 온전함을 가정합니다. 그런 말로, 데이터베이스는 데이터를 얻는 더 안전한 방법을 제공합니다 (제대로 된 경우). 동의하다? 원인은 결국 그의 질문이었습니다. 그리고 그 안전을 위해 CPU 시간의 손실이 허용됩니다. 동의하다? – Matt

관련 문제