여기에 나와있는 방법/모범 사례 질문 중 한 가지가 해결되었지만 입력 한 모호한 검색어를 기반으로 한 솔루션을 찾을 수 없습니다.GET으로 DB 작업을 수행하는 빠르고 쉽고 안전한 방법
"빠르고 쉬운"이라는 질문을 시작하는 것은 몇 가지 한숨을 내 쉬우므로 아마도 사과 할 것입니다.
여기 거래가 있습니다.
나는 ADMIN이 자신의 프로필과 관련된 데이터를 입력하기 위해 전체 POST 작업을 수행 할 수있는 로그인 영역이 있습니다. 데이터 구조화 방법은 관리자의 ID와 관련하여 대부분의 테이블에서 꽤 구별되어 잘 분류되어 있습니다.
이제 저는 한 가지 유형의 데이터를 덤프하고 각 레코드에 ADMIN의 고유 ID를 할당하여이 데이터를 차별화하는 표가 있습니다. 즉, 모든 ADMIN은이 테이블에이 유형의 데이터를 기록합니다. 각 레코드가있는 ADMIN ID로 구분됩니다.
은이었습니다. 쿼리 문자열이있는 링크를 클릭하여 ADMIN에서 이러한 레코드를 제거하도록 계획했습니다. 분명히 GET을 사용하고 있습니다. 분명히 쿼리 구조가 링크에 있으므로 로그인 된 모든 관리자는 URL을 악용하여 경쟁 업체의 레코드를 삭제할 수 있습니다.
안전하게 POST를 통해이 작업을 수행 할 수있는 유일한 방법입니까 아니면 암호가 포함 된 세션 정보를 통과시켜 삭제를 요청하는 ADMIN ID에 대해 유효성을 검사해야합니까?
이것은 분명히 나를 위해 훨씬 더 효과적입니다.
그들이 자동차 수리 업계에서 말했듯이 저는 일하면서 ... 일을하는 3 가지 방법이 있습니다 : 빠르고, 좋고, 싸게. 한 번에 두 명씩 만 가질 수 있습니다. 빠르고 싸다는 것은 좋지 않을 것입니다. 좋고 싼 것은 빠른 처리 시간을 가지지 않을 것입니다. 빠르고 좋은 것은 싸지 않을 것입니다. 하하
그게 ... 빠르고, 쉽고이없고 한 번에 모든 보안 결코 여기에 적용 추측)
미리 감사드립니다 ... 일반적으로
어쨌든 세션을 사용하지 마십시오. 즉, 요청을 보내는 "사용자"의 admin-id가 항상 해당 스크립트에 사용 가능하지 않습니까? – VolkerK
그래, Volker ... 내가 말한대로 ... 나는 세션 정보에서 사용자에 대한 유효성 검사를 수행했다. 밖에 청소기가 있는지 궁금합니다. 고맙습니다! –
"두 가지 선택"참조는 나를 괴롭 히고 있습니다! XSS에 대한 경고는 –