2014-03-25 3 views
0

현재 PHP와 MYSQLi를 사용하여 웹 사이트를 만들고 있습니다. 그리고 저는 SQL 주입에 대해 많은 것을 읽었습니다. StackExchange의 다른 질문에 대한 답변으로 준비된 문과 이스케이프 문자열을 사용하는 것이 두 가지 방법입니다. 나는 준비된 문장을 할 수 없으므로 (자습서와 비디오를 기반로 만들어 보았지만 작동시키지 못함) 다른 방법 (이스케이프 문자열)을 선택했습니다. 내 질문은, 내가 SQL 로그인 페이지에서 사용자에 대한 권한을 'SELECT'쿼리 만 할 수있게 변경 한 경우입니다. 내 데이터베이스에서 DROP, ALTER 등의 사용자를 방지하기위한 추가적인 보안 조치를 제공 할 수 있습니까? 내 웹 사이트 : -SQL 인젝션을 막기 위해 sql 권한 변경

  1. 아무도 등록 할 필요가 없습니다.
  2. 내 검색어에 대한 유일한 텍스트 입력란 링크는 전체 텍스트 검색 기능입니다 (검색어에 SELECT 만 사용하고이 텍스트 입력란에는 mysqli 이스케이프 문자열이 있음).

답변

0

응용 프로그램의 데이터베이스 로그인에 필요한 권한 만 부여하는 것이 좋습니다. 삽입 또는 업데이트를 수행 할 필요가없는 경우 삽입 또는 업데이트 권한을주지 마십시오.

그러나 공격자는 SQL 인젝션 취약점을 악용하여 select 문을 사용하여 권한이없는 데이터를 읽을 수 있기 때문에 여전히 쿼리를 보호해야합니다.

0

불행히도, 당신은 다 잘못되었습니다. (스택 오버플로에 게시 된 모든 쓰레기 수를 고려할 때 당연한 일입니다).

이스케이프 문자열로 방지하십시오.

그것은 주사를 방지하지 않습니다

윌 그것은 나에게 별도의 보안 조치를 제공 할 수

번호

나는 준비된 명령문을 할 수 아니에요

그런 다음 프로그래머를 고용하는 것이 좋습니다. 고객을 생각해보십시오. 결국 당신의 사업. 버스 운전사가되고 싶다면 버스를 사서 버스를 타고 나무 통나무와 찰흙을 만들어 내고 승객을 위험에 처하게해야합니다. 정확히 같은 일을 여기에 - 귀하의 물건을 판매하는 사이트가 필요한 경우 사이트를 직접 구입하는 대신

+0

나는 1 단어 만 있습니다. 그것은 배우고 있습니다. 나는 새로운 것을 배우는 것을 좋아합니다. 나는 가능한 한 많은 분야를 배우고 싶다. 내가 사이트를 구입할 여력이없는 것은 아니지만 직접 해보는 것을 선호하므로 A-Z에서 알 수 있습니다. 자랑 할 가치는 없지만 현재 전기, 에어컨, 파이핑 및 인터넷 카페 서비스를 제공하는 2 개의 점포가 4 년 이상 운영되고 있습니다. 처음에는이 분야에 대해 전혀 알지 못합니다. 재미있는 점은 내가이 분야를 배울 때 내가 다루는 방식은 PHP와 MYSQL을 배우려고 할 때 저를 대했던 방식과 동일하다는 것입니다. –

+0

당신은 이미 학습을 거부했습니다. 당신이 가장 기본적이고 필수적인 도구를 포기한다는 것을 확인하십시오. 그러나 준비된 진술보다 훨씬 복잡한 것들이 있습니다. 정말로 시간을 낭비하고 싶다면 두 번 생각하십시오. –

+0

그리고 내 인터넷 카페 소프트웨어로. 저와 저의 오랜 친구가 Visual FoxPro로 만들었습니다. FoxPro도 0에서 배울 수 있지만 지금 새 업데이트에서 발견 된 버그가 있으면 직접 해결할 수 있다고 믿습니다.^_^ –

관련 문제