2013-01-05 2 views
0

간단한 것을 만들고 싶지만 AJAX의 반환이 내가 원하는 DIV가 아닌 모든 페이지에 있습니다. 제발jQuery ajax가 모든 페이지에 표시됩니다.

<a href="#" 
onclick="PrewThis('MRuw2ZbMXj','oranger'); return false" 
class="oranger">Sean Paul - Got 2 Luv U (Feat. Alexis Jordan)</a> 

: file_ajax.php

<?php 
require_once "../../funct/cfg.php"; 
if(isset($_POST['id'])){ 
if(fileDB($_POST['id'])){ 
echo '<script type="text/javascript"> 
var albhost="albup.ex"; 
var albbg="111111"; 
var albvi="2013"; 
var albid="'.$_POST['id'].'"; 
var albw=326; 
var alblight="D69E9E"; 
var albfront="C4C4C4"; 
var albvol=80; 
var albas="true"; 
var albdownb="0"; 
</script> 
<script type="text/javascript" src="http://albup.ex/api/explayer/embed.js"> 
</script>'; 
exit; 
} 
} 
?> 

및 파일 아약스 : 여기

내 코드 PHP입니다

function PrewThis(id,style){ 
var dataString = 'id=' + id + '&style=' + style; 
$("#fileprev").removeClass(); 
$("#fileprev").show().addClass(style); 
$.ajax({ 
      type: "POST", 
      url: "ajax/file_ajax.php", 
      data: dataString, 
      context: "#fileprev", 
      error: function(){ $("#sidebox").append("SOMETHING ERROR") }, 
      success: function(html){ 
      $("#fileprev").append(html); 
     } 
    }); 
} 

을은 ajax.js 그리고 전화입니다 누군가 도움이 되니?

+0

** ** 필터링되지 않고 유효성이 검증되지 않은 사용자 입력 권한을 다시 전달합니다 ('$ _POST [ 'id']'). 이렇게하면 [사이트 간 스크립팅] (http://en.wikipedia.org/wiki/Cross-site_scripting) 취약점이 생겨 악의적 인 사용자가 쉽게 자신의 목적을 위해 사이트를 가로채는 것을 허용 할 수 있습니다. 사용자 입력에 적절한 유효성 검사를 추가하고 사용자가 제공 한 데이터의 출력을 필터링하십시오. – Charles

+0

@Charles 나는 그걸 만들면서 가치있는 것을 되돌려 줄 필요가 있다는 것을 알고있다. 링크를 클릭하면 모든 페이지에 들어오고 내 HTML 코드를 그 코드에 그냥 제거한다. 할 수있는 일 내 원하는 div에이 끼워 넣으세요. –

답변

0

그것은 단지 추측,하지만이 라인은 문제의 원인이라고 생각 ...

<script type="text/javascript" src="http://albup.ex/api/explayer/embed.js"> 

그것은 JQuery와 문서에 언급 된 바와 같이 "HTML을 지정하면, 검색된 내부에 내장 된 자바 스크립트 HTML이 문자열로 반환되기 전에 데이터가 실행됩니다. "

포함 된 스크립트의 출력이 페이지를 부 풀고있는 것 같습니다.

코드에서 아무 것도 문제를 나타내는 것으로 보이지 않습니다. 그렇지 않으면 모두 좋아 보이지만 HTML 소스는 보지 못했습니다.

관련 문제