2014-07-24 3 views
-2

프로젝트를 진행하면서 많은 변수에 {} [?]와 같은 특수 문자가 있어야합니다. ''!/\ = + - 더 안전한 방법은 무엇입니까? 앞뒤로 SQL, PHP,과 출력 사이 이러한 변수를 전달하는 방법과 내 코드를 방해 변수를 방지 할 수 있습니다 즉 :? PHP에서특수 문자가 포함 된 변수 사용

<?php 
echo $var; 
echo '$var'; 
echo "$var"; 
?> 
+2

준비된 명령문 (PDO/MySQLi 포함)을 사용하여 데이터베이스에 삽입하십시오. echo 할 때'htmlspecialchars'를 사용하십시오. –

+0

변수 ** 이름 **은'$ foo {}! blah'와 같은 것들입니까? 그렇다면 코드가 심각하게 쓰레기에 던져 질 필요가 있습니다. 변수 이름은 결코 그런 쓰레기를 포함하는 지점까지 동적으로 생성되어서는 안됩니다. –

+0

NAMES는 그렇게 될 수 없으며, 데이터는 내부에만 포함됩니다. 죄송 합니다만 충분히 명확하지 않은 경우. – user2464339

답변

0

가장 좋은 방법은 제공된 데이터를 URL 인코딩하는 것입니다. 그런 다음 그것을 저장하고 그것을 사용하는 경우, 그것을 urldecode.

뭔가 인코딩

string urlencode (string $str) 

추천하고

string urldecode (string $str) 

디코딩. 이렇게하면 "특수"문자가 안전한 문자로 변경됩니다. 당신은 데이터베이스에 데이터를 isnerting에 대한 PDO/MYSQL을 사용할 수 있습니다

0

이름 특수 문자를 포함 할 수있는 변수의을 (초기 달러 기호 $ 및 밑줄 _ 제외) 변수의 에는 다음 규칙을 따르는 한 원하는 모든 것을 포함 할 수 있습니다. PHP 문자열 정의.

가변 값은 코드를 방해하지 않습니다. 출력 HTML을 방해하는 것이 염려되는 경우 Rocket Hazmat가 의견에서 제안한대로 htmlspecialchars을 사용하십시오.

0

..

의 HTML entites로 변환 당신은 htmlchars() 기능을 사용할 수 있습니다.

관련 문제