>  Q&A  >  본문

합법성에 관한 질문

저는 초보자인데 오늘 코드를 작성하던 중 갑자기 보안 문제가 발생했습니다.

다양한 Ajax 요청에 대해 해커가 외부에서 코드를 제출할 수 있나요? JS 파일 브라우저는 그것을 볼 수 있기 때문에, 즉 당신의 코드를 알 수 있습니다. 그러면 해커가 우리의 도메인 이름을 사용하여 외부에 제출하면 PHP가 그것이 합법적인지 여부를 결정할 수 있습니까? 예를 들어, 우리 자신의 파일이 제출되었는지 확인합니까?

예를 들어, 내 js 파일에는

$('input').click(function(){
    $.post('index.php',{a:xx,b:xx},function(a){
        xxxxx
    })
})
那么如果黑客通过外部提交
xxxxxxxxxxx
$('input').click(function(){
xxxxxx
    $.post('http://www.xxxx.com/index.php',{a:xx,b:xx},function(a){
        xxxxx
    })
xxxxxx
})
xxxxxxxxxxx

코드가 있습니다. 이를 방지하려면 PHP에서 어떻게 작성해야 하나요?

按键盘手指磨破皮按键盘手指磨破皮2579일 전1691

모든 응답(3)나는 대답할 것이다

  • MrSwan

    MrSwan2018-05-23 12:38:25

    CSRF를 이해하시나요?

    회신하다
    0
  • phpcn_u22108

    phpcn_u221082017-09-01 18:39:28

    외부 제출은 정상이며, 주입은 절차를 통해 예방해야 합니다.

    회신하다
    0
  • 按键盘手指磨破皮

    악성 POST는 주문을 스와이프하고 볼륨을 높이는 등의 행위를 할 수 있습니다.

    按键盘手指磨破皮 · 2017-09-01 20:03:07
  • ringa_lee

    ringa_lee2017-09-01 15:46:40

    말씀하신 대로 외부 Ajax 시뮬레이션에서 제출한 데이터는 크로스 도메인입니다.

    이 문제를 처리하는 방법에는 여러 가지가 있습니다. 예:

    1. 액세스 권한을 설정할 수 있습니다. 예를 들어 로그인한 회원만 볼 수 있거나 도메인 이름을 제한할 수 있습니다. 하지만 이 장애물은 언제나 극복될 수 있습니다.

    2. 세션을 사용하여 토큰을 생성하세요. 제출 후 세션을 확인하세요. 합법적인 경우 세션을 즉시 로그아웃하여 매번 새 토큰이 있는지 확인하세요.

    3. 접속 로그를 분석하여 의심스러운 IP 접속을 서버 차원에서 차단합니다.

    4. 각 IP의 동작밀도를 기록해두세요. 빈도가 더 높을 경우 수시로 인증코드를 요청할 수 있습니다.

    ...

    방법은 많지만 최선은 없습니다. 다각적인 접근을 권장합니다. 입양하시길 바랍니다~

    회신하다
    0
  • 按键盘手指磨破皮

    이러한 방법은 그다지 신뢰할만하다고 느껴지지 않습니다... 패킷 캡처 소프트웨어로 패킷을 캡처한 후 이를 시뮬레이션할 수 있습니다. 예를 들어, 파일에 액세스하고 이를 반환하여 세션을 캡처할 수 있으며, 이는 인터넷에 많이 있습니다. 사용된. PHP를 배우는데 가장 중요한 것은 해킹을 당하지 않는 것이라고 생각합니다. 내 웹사이트는 항상 해킹되고, 코딩되고, 불법 게시됩니다.

    按键盘手指磨破皮 · 2017-09-01 16:06:46
    按键盘手指磨破皮

    알겠습니다. 답변 감사합니다

    按键盘手指磨破皮 · 2017-09-01 16:22:31
    ringa_lee

    절대적인 방법은 없습니다. 보안 방법은 너무 많습니다. 서버에 집중하고 모든 방법을 사용하면 다른 사람이 쉽게 사이트를 공격할 수 없습니다. 귀하는 매우 인기 있는 사이트가 아닙니다. 사람들은 하루 종일 아무것도 하지 않고 앉아서 매일 귀하의 사이트를 공격하는 것에 대해 연구하고 생각할 수 없습니다.

    ringa_lee · 2017-09-01 16:20:36
  • 취소회신하다