2013-04-25 3 views
-1

해시 값에 따옴표가 포함되어 있습니까?해시 값에 따옴표가 포함되어 있습니까?

알고리즘에 따라 다르면 blowfish에 대해 phpass을 사용하고 싶습니다.

난 그냥 따옴표로 usernamepassword hash 포장, authentication에 대한 prepare 쿼리를 원하는 place holders를 사용하지 않기 때문에 내가 SQL 주입에 관해서 부탁 해요. (word chars [a-wA-W1-9_] (따옴표 또는 다른 특수 문자가 없음)만으로 유효성이 검사 될 때 username이 안전할까요?)

+0

처리 할 수 ​​있다고 생각되는 문자 만 포함하도록 사용자 이름을 확인하는 것이 좋습니다. 또한 데이터베이스 클라이언트 라이브러리를 존중하고 준비된 구문과 같은 기능을 사용하십시오. – hakre

답변

2

예, 해시 값에는 따옴표가 포함될 수 있습니다. 사용자 이름은 물론.

데이터베이스 상호 작용은 절대로 존재하지 않아도된다는 허약 한 가정에 기반하지 않아야합니다.

대신 데이터를 가정하는 것에 관계없이 데이터베이스 쿼리를 최대한 안전하게 만드십시오. 때로는 일들이 잘못 될 수 있으며, 그 오류를 퍼시스턴스 계층에 저장하고 싶지 않거나 SQL 삽입에 대한 잠재적 인 문을 제공하고 싶지 않을 수도 있습니다.