2013-09-10 4 views
1

것은 내가 다음 코드 한 '' '(ASCII = 39) :예기치 않은 문자 :

<?php 
header('Content-type: text/xml'); 
mysql_connect('domain', 'user', 'password'); 
mysql_select_db('database'); 

mysql_query(" INSERT INTO user(userName,password,email) 
       VALUES(

        '".$_POST['username']."', 
        '".md5($pass)."', 
        '".$_POST['email']."',   
)"); 
?> 

내가 URL이로드를 시도 :

http://xcode.domain.de/add.php?userName=test&password=test

을 나는이 오류가 발생했습니다

경고 : 입력에서 예기치 않은 문자 : 내 서버에 행에 /kunden//webseiten/xcode/add.php에서 '' '(ASCII = 39) 상태 = 1 15

구문 분석 오류 : 구문 오류, 예기치 않은 ' "'/kunden/webseiten/xcode/add.php in 15 행

수 있습니다. 누군가 도움이 되셨습니까?

당신에게

+4

이것은 스크립트 주입의 취약성과 같은 텍스트 예제입니다. – crush

+0

정확히 무엇을 의미합니까? – OLLIM

+0

변수가 URI QUERY_STRING에서 오는 것으로 보입니다.이 변수는 PHP에서'$ _POST '가 아니라'$ _GET'에 채워집니다. @crush는 데이터베이스에 값을 삽입하기 전에 입력 내용을 살균하지 않는다는 것을 의미합니다. 그래서 내 사용자 이름'Milo '를 만들면 DROP TABLE user -'그러면 시간이 많이 걸릴 것입니다. –

답변

1

ASCII 39 (10 진수) 단일 아포스트로피가 감사합니다.

"이메일"줄 뒤에 오는 쉼표가 추가로 표시됩니다. 이것을 시도하십시오 :

   '".$_POST['username']."', 
       '".md5($pass)."', 
       '".$_POST['email']."'   
+0

이 같은 내 SQL 테이블보기 작동하지 않습니다 \t BIGINT가 (20) \t \t 이 \t 타임 스탬프 UPDATE CURRENT_TIMESTAMP 는 userName \t VARCHAR (64) \t utf8_unicode_ci 비밀번호 \t VARCHAR ON \t \t (32)를 추가 ID를 \t utf8_unicode_ci 이메일 \t varchar (20) \t utf8_unicode_ci 여기에 문제가 있습니까? 나는 생각하지 않으며 URL에 이메일 주소를 어떻게 넣어야합니까? "@"에 문제가 있습니까? – OLLIM

+0

불량한 형식에 대해 사과드립니다. 여기에 뭔가를 첨부 할 수 있습니다. 더 쉬워야합니다 ... :) – OLLIM

+0

좋아요, 타임 스탬프, ID 및 항상 같은 암호를 추가하지만 전자 메일 주소 나 사용자 이름은 추가하지 마십시오. URL이 맞습니까? add.php?userName=test2&password=test2&[email protected] – OLLIM

관련 문제