This Raw SQL WSI API은 매우 강력하지만, 필요한 엔티티 ID를 검색하는 유일한 방법이기도합니다. 예를 들어 이름으로 제조업체를 검색 할 수 있어야합니다 (더 나은 방법이 있는지 토론). 가정에 가장 좋은 방법은 정말 나쁜 생각이SQL이 XML을 통해 전송 될 때 SQL 인젝션으로부터 보호
'SELECT ManufactuerGUID FROM Manufacturer WHERE Name = ' . "$name"
같은 쿼리를 보내는 것입니다 그리고 난 그것을 쓰기 위해 자신이 싫어 ...하지만 난 그것을 소독하는 것이 최선의 방법을 모르겠어요. 일반적으로 매개 변수화는 SQL 드라이버 (AFAIK)를 통해 수행됩니다. 제가 생각할 수있는 유일한 것은 ... DBD::ODBC에서 최종 SQL 문자열을 다시 얻을 수 있습니까? 다른 제안을 환영합니다. 아마도 제가 사용할 수있는 위생 처리 라이브러리가 있을까요?
명확히하기 위해 ASP.net Storefront의 API를 실제로 제어 할 수는 없습니다. 제조업체 Name
은 사람의 입력에서 오는 유일한 매개 변수이므로 나머지 부분을 코딩하는 방법에 대해 걱정할 필요는 없습니다. 예,이 API는 믿기지 않을 정도로 어리석은 생각이며 쿼리를 매개 변수화하는 방법을 제공했다면 좋을 것입니다.
이 Raw API는 실제로 매우 무의미한 것으로 보입니다. ** 아무도 ** XML을 통해 전송 된 SQL이 필요합니다. 모든 사람들이 사용하는 규칙적인 방법이 있습니다 : 당신은 * 어떤 * 질의 [이미 코드에 적혀 있습니다]만을 보내고, 사용할 * 데이터 *를 보내십시오. 바퀴를 재발 명하지 마십시오. XML을 통해 SQL을 보내지 마십시오. –
@ YourCommonSense ... 그렇다면 매개 변수 (제조업체 이름)를 기반으로 필요한 데이터 (guid)를 반환하도록 내가 보내야 할 내용을 알려주십시오. 나는 바퀴를 다시 발명하지 않고이 API를 작성하지 않았다. 나는 단순히 그것과 연결되어있다. – xenoterracide
그래 ... 누가 더 나은 대답을 찾았을 때 이걸 무시 했어? 고마워. 이 작업을 수행하는 인터페이스를 찾는 것이 쉽지는 않습니다. – xenoterracide