2017-12-10 12 views
1

가장 좋은 방법은 무엇입니까?URL을 통해 사용자 ID를 표시 하시겠습니까? 예 : www.domain.com/user/1

나는 사용자 프로필 페이지가 있으며 domain.com/user/1을 통해 웹 사이트를 볼 수 있습니다. 모든 숫자는 내 데이터베이스에서 User_ID를 나타냅니다. 나는 이것이 나쁜 생각인지 궁금하다. 나는 SQL 주입에 대한 것이 아니지만 아마도 저에 대한 정보를 사용할 수 있습니다. 저는 Laravel을 사용하고 있으며, 주입에 대한 기본적인 보호 기능을 가지고 있습니다.

당신은 어떻게 생각하십니까? 사용자 프로필에 임의의 숫자를 사용해야합니까, 아니면 전혀 문제가되지 않습니까?

+0

세션 범위에 넣고 모든 페이지 요청의 url 값과 세션 값을 비교합니다. –

+0

그 것이 민감한가요? 누구나 쉽게 추측 할 수있는 색인입니다.당신이 숨기고 싶다면 자동으로 증가 시켜서 laravel로 encrypt()를 숨기고 당신이 노출시키고있는 id의 실제 값을 감추기 위해 해시 ids를 사용할 수 있다는 사실을 "실제로"염려한다면 url – RohitS

+0

에 덧붙여 라. 사용자 이름 또는 URL에서 고유 한 항목 – lagbox

답변

2

참고 : 맥락에서 쓰기가

네를 laravel하기 위해, 당신이 그것을 사용하려는 목적에 전적으로 의존한다.

http://www.demosite.com/seller/1234/products/1234

vendor id 및 관련 product id을 공개 할 것처럼 보이는 URL을 나열하는 간단한 제품, 예를 들어 말할 수 있습니다. 누군가가 뭔가를하려고해도, 판매자 또는 제품이 완전히 종료되지 않으면 누군가가 무언가를하려고해도,

http://www.demosite.com/seller/1235/products/1232이 실패합니다. 또한

, 당신은 가능성이 선택한 루트 사용자 보안의 첫 번째 수준을 달성하고 당신은 단지 내부 사용자에 대한 걱정, 그래서 인증 만 볼 수 laravel를 사용하는 것처럼이있는 당신은 여전히 ​​ 사용 해싱 걱정하는 경우 또는 암호화는 (다시 데이터의 민감도에 전적으로 의존한다.)

어떤 쿼리를 다시 언급이있는 경우는 .. Laravel Hashing 또는 Encryption

을 위해 .. 여기에서 찾아보실 수 있습니다

2

경우에 따라 다릅니다.

id만으로 액세스 할 수있는 민감한 것이 있으면 문제가됩니다.

아무런 민감한 사항이없는 경우 - 계정을 생성하기 전에이 ID를 선점하는 경우조차도 - 문제가 없습니다.

여기에 사용자 ID가 포함 된 https://stackoverflow.com/users/7009480/philipp-mochine을 생각해보십시오. Stackoverflow.

다단계 등록이 문제가 될 것

1


: 진짜 사람이 여전히 자신의 프로필에 (수정 프로그램을 작성하는 동안 공격자가 마지막 페이지로 앞으로 점프 및 인증 세부 사항을 설정합니다 계정을 생성하고 비밀번호를 입력하면 나중에 모든 것을 채울 수 있습니다).