2012-01-11 3 views
0

나는 사용자 계정 시스템과 관리자 레벨을 가지고있다. 내가하고 싶은 일은 jquery와 PHP 요청으로 이미지를 지우는 것입니다 만 사람들이 방화 광을 사용하여 보내지는 것을 (사용자 ID, 그림 ID 등) 볼 수 있기 때문에 보안에 대해 걱정할 수 있습니다. 이것에 대해 많이 걱정하지 않고 이것을하는 더 좋은 방법? PHP를 사용할 수는 있지만 애니메이션을 적용하고 페이지를 새로 고치지 않아도됩니다.jQuery PHP 요청 안전성

+1

특히 어떤 시나리오가 걱정 되십니까? 사용자에게 보내야하는 유일한 물건은 사용자가 image_id와 같은 것을 보길 원한다는 것입니다. 입력 (준비된 쿼리)을 적절히 확인하고 유효성을 검사하는 경우 누군가가 자신이 소유하지 않은 이미지를 삭제하라는 요청을 보내면 최악의 상황이 발생할 수 있습니다. redmoon7777의 제안으로 어느 것을 설명 할 수 있습니다. – jakx

+0

침묵하는 downvotes는 금지되어야한다. upvoting. – Teson

답변

2

사용자가 자신이 아닌 이미지를 삭제하지 않으려면 소유하고 있는지 여부 만 확인하십시오. 뭔가 같은 :
SELECT * FROM table WHERE image_id='$image_id' AND user_id='$user_id'

세션 그것은 당신이 원하는에 따라 달라집니다 (당신이 인증에 사용 된)

1

에 저장된 사용자 ID를 포함해야는 $ USER_ID :

1.You을 관리자가 감사와 같이 사진을 삭제해야하므로 POST 매개 변수가 아닌 쿠키 또는 세션에서 user_id를 가져 와서 관리자 권한으로 검사 한 다음 수행 할 작업을 결정하십시오.

2. 필요합니다. 이 캐스에서 자신에게 속한 사진을 삭제하는 사용자 e는 redmoon7777이 말한 것과 동일합니다. 쿠키 또는 세션에서 user_id를 확인하고 사진 작성자와 동일한지 확인하십시오.

0

최상의 보안을 위해 허용되는 모든 작업은 서버를 인식해야합니다. 자신 (세션 저장) 부여 그룹을 확인 및 아약스 요청을 허용

대부분의 아마, 사용자 세션 데이터가 관련 될 것이다,

  • .

  • 특정 상태에 따라 모든 특정 ajax 명령에 대해 해시가 있습니다.

당신이 세션 논리를 귀찮게하지 않으려는 경우

, 나는 보안 (부분적 결함)의 가장 좋은 시도 임의의 개인 키를 사용하여 Ajax 요청을 해시하는 것입니다 보라. 가 someting

MD5 (thepk & & thedate theprivatekey) =>처럼 & 해시 = AJAX URL에

AJAX 요청

해시를 다시 계산함으로써 PARAMS을 검증한다.

// t

0

eencode를 디코딩 base64_encode (또는 다른 방법) 및 서버 측을 사용 photo_id UR 같은 기능 파라미터. 이 방법으로 사용자가 ur 매개 변수를 보았다면 매개 변수로 매개 변수를 사용할 수 없습니다.