2014-01-19 1 views
4

이전에 보지 못했던이 오류가 발생합니다. 내 사이트에서 captcha 이미지를 얻으려고 cURL을 사용하고 있지만 이미지에서 원하는 대신이 오류가 발생합니다.리소스가 이미지로 해석되었지만 MIME 유형이 text/html, curl, php로 전송 된 경우

if(isset($_GET['captcha'])) { 
$curl->open("GET","https://mydomain.com"); 
$curl->exec(); 

preg_match('/_mobile_sess=[^;]+/', $curl->getHeaders(), $sess); 
$_SESSION['cookie'] = $sess[0]; 

preg_match('/ame="authenticity_token" type=\"hidden\" value=\"(.+?)\"/i',$curl->responseText, $tkn); 

$_SESSION['token'] = $tkn[1]; 
preg_match('/\/signup\/captcha\/([0-9-a-z]+)\.gif/i', $curl->responseText, $cs); 
$_SESSION['captchaUrl'] = $cs[1]; 

$curl->open("GET", "http://mydomain.com" . $cs[0]); 
$curl->cookie = $_SESSION['cookie']; 
$curl->exec(); 
echo $curl->responseText; 

die; 

}

나는 나의 HTML의 문서의 내 머리에 <meta http-equiv="Content-Type" content="image/gif">으로 MIME 유형을 설정하지만, 여전히 같은 문제를 얻을했습니다.

이미지를 출력하려고하는 형식입니다.

if(empty($_SERVER['QUERY_STRING'])){ 
    echo "<center><form method='POST' action='?go'> 
    <input type='hidden' name='nameC' value='- SAFAL -' ><br/> 
    <b>User Name</b><br><input name='login' size='30' id='login' value='safal".rand(111111,9999999)."'><br/> 
<b>Password</b><br><input name='senha' id='senha' size='30' value='".rand()."'><br/> <br> 
<img src='?captcha'><br/> 
<input name='cs' id='cs' placeholder='Put The Capcha' size='20' onclick='if(this.value==\"Digite aqui\") this.value=\"\"'><br><br><br> 
<input type='submit' value='Click Here' id='btn'> 
</form>"; 
} 
+0

이전에 본 오류가 없습니까? –

답변

0

헤더 ('Content-Type : image/gif'); 출력 스트림을 인쇄하기 전에 PHP 블록 코드에서.

6

Google 검색을 통해이 질문에 답했습니다. 참조 용 사례 추가 :

작은 따옴표로 background-image: url('../img/sample.png');을 이와 같이 설정하면 Chrome/Opera 콘솔에도이 경고가 표시됩니다.

따옴표를 제거하면 트릭을 수행합니다.

+0

+1 -'background-image : url();'과 같은 다른 잘못된'background-image' 선언에서도 같은 오류가 발생할 수 있습니다. 잘못된 형식의 CSS는 페이지의 아무 곳이나 링크 된 스타일 시트에있을 수 있습니다. – cmbuckley

+0

Thx 추가 @cbuckley – Tyblitz

관련 문제