2014-07-15 2 views
1

나는이 해답을 찾아 보았고 몇 가지 "해결책"을 찾았지만 이것을 성취하는 방법을 상당히 이해하고 있다고 생각하지 않습니다. 방금 양식 제출을 위해 11 가지 PHP 파일이있는 쿼리 모바일 사이트를 완료했습니다. 이것은 내 첫 번째 모바일 사이트 인 동시에 처음에는 보안에 관심이 없었습니다. 글쎄, 이제 모든 것이 제대로 작동하고있어, 나는 그것을 잠그는 것에 대해 걱정할 필요가있다. 11 개의 PHP 파일은 모든 HTML 파일과 동일한 디렉토리에 있으며 이메일 제출을위한 SMTP 신용 정보가 들어 있습니다. 내가 찾은 해결책 중 일부는 웹 루트 외부에서 파일을 찾는다 고 말하지만, 어떻게하면 내 양식 작업에서 그들을 참조 할 수 있을까요? 이 난 그냥 루트 아래에 하위 폴더를 만들고 거기에 그들을 배치하고smtp 자격 증명이 포함 된 php 파일은 어디에 두어야합니까?

<form method="post" action="bp-mail.php" enctype="multipart/form-data" data-ajax="false"> 

대신을 참조하지만 지금

<form method="post" action="/scripts/bp-mail.php" enctype="multipart/form-data" data-ajax="false"> 
을 좋아 ... 또는 그들이에 위치해야해야한다는 것을 의미 하는가 웹 서버의 루트 위의 디렉토리? 하위 폴더가 있어야하는 곳이면 html 페이지에서 여전히 호출 할 수 있도록 디렉토리에 어떤 유형의 권한을 설정해야합니까?하지만 일부 사이트 리핑 소프트웨어를 사용하는 사용자가이를 가져 오지 못하게하려면 어떻게해야합니까? 루트 위의 경우 경로 구문을 양식 코드에 어떻게 넣어야합니까?

+0

은 좋은 생각입니다. 예 : 사이트가/home/user/public_html에 있습니다./home/user에 자격 증명 파일을 보관하십시오. – TecBrat

+0

실제로 Windows (IIS7) 웹 서버에 php를 설치 했으므로 사이트가 D : \ Website \ wwwroot \ Mobile \ 그래서 D : \ Website \에 creds 파일을 저장하고 아래 제안 된대로 파싱해야한다고 생각합니다. – ClevelandITGuy

+0

네, 맞습니다. 아뇨, Windows에서 PHP를 사용하는 것이 좋다고 생각하지 않습니다. OS의 특정 차이점을 알고 있어야합니다. (나는 IIS에 대해 아무것도 몰라.) – TecBrat

답변

1

두 가지 유형의 파일이 있습니다. 직접 상호 작용하는 URL (URL에서로드하고 서버에서 실행 한 다음 응답을 표시 함) 및 다른 파일에서 포함하는 URL

사물의 외모로 보니 bp-mail.php은 직접 대화하는 파일입니다.

이 파일에는 사용자의 자격 증명이 포함되어서는 안됩니다.

- 아파치가 그 파일을 PHP로 구문 분석을 중단하고 일반 텍스트를 기본 텍스트로 설정하면 (페이스 북에 한 번만 발생) 사람들은 자신의 비밀번호를 보게됩니다.

파일을 웹 경로 외부에두고 파일을 포함하기 위해 $config = require(dirname(__DIR__).'/config.php'); 또는 그와 비슷한 간단한 코드를 사용한 다음 해당 파일에 변수를 참조하십시오. 설정 파일은 다음과 같이 할 수

한다 : 사람이 일반 텍스트로 다음 누가 관심 있다고 본다면

<?php 

return [ 
    'smtp' => [ 
     'username' => '', 
     'password' => '', 
    ], 
]; 

그런 다음 bp-mail.php에 당신은 $config['smtp']['username'];를 사용하고 있습니다. 웹 루트 위의

+1

아, 그게 완벽하게 ("config.php"파일에서 일부 사용 권한 문제를 디버깅 한 후) 효과가있었습니다. 나는 To/From 전자 메일 주소를 해당 구성 파일에 추가하여 스키머/스패머의 손에 닿지 않게했습니다. 그게, 내 친구, 내가 한판 승부하고있는 말 ... 많은 많은 감사합니다! – ClevelandITGuy

관련 문제