programing

JavaScript를 사용하여 서버에 텍스트 파일 저장

minimums 2023. 3. 14. 21:31
반응형

JavaScript를 사용하여 서버에 텍스트 파일 저장

PHP를 사용하지 않고 JavaScript/jQuery를 사용하여 텍스트를 새 텍스트 파일에 저장할 수 있습니까?저장하려는 텍스트에는 HTML 엔티티, JS, HTML, CSS 및 PHP 스크립트가 포함되어 있을 수 있습니다.이 스크립트는 이스케이프 또는 urlencode를 사용하지 않습니다.

PHP를 사용해야만 할 경우 인코딩 없이 어떻게 텍스트를 PHP에 전달할 수 있습니까?

요청을 처리하려면 서버측 스크립트가 필요합니다.javascript를 사용하면 안 됩니다.

URI 인코딩 또는 이스케이프 특수 문자를 사용하지 않고 원시 데이터를 php로 전송하고 새 데이터로 저장하려면txt파일을 사용하여 Ajax 요청을 전송할 수 있습니다.post방법 및FormData예를 들어 다음과 같습니다.

JS:

var data = new FormData();
data.append("data" , "the_text_you_want_to_save");
var xhr = (window.XMLHttpRequest) ? new XMLHttpRequest() : new activeXObject("Microsoft.XMLHTTP");
xhr.open( 'post', '/path/to/php', true );
xhr.send(data);

PHP:

if(!empty($_POST['data'])){
$data = $_POST['data'];
$fname = mktime() . ".txt";//generates random name

$file = fopen("upload/" .$fname, 'w');//creates new file
fwrite($file, $data);
fclose($file);
}

편집:

Florian이 아래에 언급했듯이 XHR 폴백은 필요하지 않습니다.FormData는 오래된 브라우저(formdata browser compatibilti)에서는 지원되지 않기 때문에 XHR 변수를 다음과 같이 선언할 수 있습니다.

var xhr = new XMLHttpRequest();

또, 이 기능은, 를 서포트하는 브라우저에서만 유효합니다.FormData예를 들어 IE +10 입니다.

JavaScript나 jQuery 등의 클라이언트 측 스크립트만 사용하여 웹 사이트에 콘텐츠를 저장할 수는 없지만, AJAX POST 요청으로 데이터를 전송하면 나머지 절반은 서버 측에서 매우 쉽게 수행할 수 있습니다.

그러나 스크립트와 같은 원시 콘텐츠를 호스팅에 쉽게 쓰는 것은 권장하지 않습니다. 이는 쉽게 악용될 수 있기 때문입니다.AJAX POST 요청에 대한 자세한 내용은 jQuery API 페이지를 참조하십시오.

http://api.jquery.com/jQuery.post/

또한 호스팅에 원시 스크립트 파일을 저장할 경우 주의해야 할 몇 가지 사항을 소개합니다.이러한 파일을 취급하는 경우는, 시큐러티에 매우 주의가 필요합니다.

파일 업로드(javascript가 파일 이름을 선택할 수 있는 경우 일반 텍스트 전송 시 대부분 해당) http://www.developershome.com/wap/wapUpload/wap_upload.asp?page=security

만약 당신이 여전히 JavaScript로 작업하고 PHP, CGI, 그리고 그와 같은 것들을 피하고 싶다면, 당신은 JavaScript로 서버 사이드 스크립트를 할 수 없다는 것은 더 이상 사실이 아니다.

Node.js를 사용하면 서버측 JavaScript를 실행할 수 있습니다.물론 Node.js 서버를 실행할 수 있는 서버가 필요합니다.다만, 기동해 실행하면, 클라이언트측 스크립트의 JSON 형식의 문자열을 받아들이도록 서버 스크립트를 작성할 수 있습니다.그 후, 수신한 JSON 문자열을 기초로, 서버측 스크립트는 파일을 작성해 보존할 수 있습니다.물론 파일을 만들고 저장하기 전에 보안 코드를 작성하고 서버로 전송되는 내용을 확인하여 악성 코드가 아닌지 확인해야 합니다.또한 DDOS 공격에 취약하지 않도록 파일 간에 시간 간격과 일시 중지를 반복해야 할 수도 있습니다.

언급URL : https://stackoverflow.com/questions/15722765/saving-a-text-file-on-server-using-javascript

반응형