2012-08-02 2 views
0

웹 페이지에서 일부 .php 파일을로드하여 데이터 소스로 .csv 파일을 읽도록 테스트하는 Apache를 xampp를 통해 설정했습니다. 막대 그래프 차트를 출력합니다. Chrome에서이 오류가 발생했습니다.Apache로드 PHP 및 로컬 파일 오류 : "안전하지 않은 JavaScript가 URL이있는 프레임에 액세스하려고했습니다 ..."

안전하지 않은 JavaScript가 URL 파일 : /// C : /xampp/htdocs/search/php/loader/csvFileUploader.php URL 파일 : /// C :/xampp/htdocs/search가있는 프레임에서 액세스하려고합니다. /stackedBarChart.html. 도메인, 프로토콜 및 포트가 일치해야합니다. upclick-min.js : 99 i.onload_callback.i.onload_callback의 upclick-min.js : 99 온로드

나는 많은 다른 게시물 제안처럼이 iframe이 문제라고 생각하지 않습니다. 파이어 폭스를 통해서도 이것을 테스트했지만, PHP를 읽는 것 이상 이었지만 로컬 디렉토리에서 .csv 파일을로드하지 않았습니다.

제안 사항?

<script> 
     var uploaderCSV = document.getElementById('uploaderCSV'); 
      upclick({ 
       element : uploaderCSV, 
       action : 'php/loader/csvFileUploader.php', 
       onstart : function(filename) { 
        console.log(" -- Start upload: <" + filename + "> Here"); 

       }, 
       oncomplete : function(response_data) { 
        alert(response_data); 
        console.log(" -- CSV file to load: ", response_data); 
        var n = response_data.split("|"); 

        if (n.length > 1) { 
         console.log(" >> csv file loaded at[ ", n[1], " ]"); 
         loadDayLightFactor("php/loadCSV.php", "../" + n[1]); 
        } 
       } 
     }); 


</script> 

여기에는 PHP 파일을의

<?php 
// using upload at click from http://code.google.com/p/upload-at-click/ 
// FileData is the name for the input file 

$file_result = ""; 
$file = $_FILES['Filedata']; 

$allowedExtensions = array("csv", "txt"); 
$extension = end(explode(".", $file["name"])); 

echo "123".$file; 

>

답변

0
귀하의 문제는 당신이 도달하고자하는 URL 것 같다

:이

file:///C:/xampp/htdocs/search

아니다 지역 환경에서 개발하는 방법. 내가 그것을 잘 작동 확신

http://localhost/search

통해 액세스하려고합니다. 아래 자세한 설명 .. 이는 크로스 도메인 정책라는 보안 표준에 무슨 일이 일어나고


당신과 다른 URL로 파일 (자바 스크립트를 통해) 전화를 걸 수 없습니다 현재 URL 주소에서 가져옵니다.

예를 들어

: 내 웹 사이트의 URL 내가 barbaz.com에 AJAX 요청을 전송하기 위해 노력하고있어, foobar.com입니다.

나는 할 수 없다!

내 도메인이 아니기 때문에 barbaz.foobar.com (일부 JavaScript 코드 사용)에 요청을 보내보십시오.

내가 쿠키를 사용하여 내 은행의 웹 사이트에 로그인하고있어 말할 수 있습니다 : 이것은 "이 있어야합니다"보안 표준 인 이유를 보여줍니다

또 다른 시나리오. 쿠키는 영구적입니다.

모든 알려진 은행 웹 사이트에 AJAX 요청을 보내는 임의의 웹 사이트 X을 입력하고 있습니다. 여전히 은행 웹 사이트에 로그인 한 경우 웹 사이트에서 사용자를 사용하여 은행 웹 사이트와 "대화"할 수 있으며 내가 모르는 일을 할 수 있습니다.

이것은 매우 중요한 이유 중 일부입니다.

도움이 되었기를 바랍니다.

+0

고맙습니다. 매우 자세한 설명 – user1518600

관련 문제