2011-08-12 5 views
4

450,000 단어 이상의 영어 단어 사전 용 텍스트 파일이 있습니다. 텍스트 파일에 저장하기 전에 효과가있었습니다. 그러나 이제는 같은 수의 단어를 가진 새 사전을 업로드했지만 그 의미도 함께 올렸습니다. 나는 단지 경험이있는 사람에게 사이트를 느리게하지 않고 이것을 저장하는 가장 좋은 방법이 무엇인지 물어보고 싶다. 서버의 텍스트 파일에 저장해야합니까? 아니면 지금 데이터베이스에 저장해야합니까? 텍스트 파일을 저장하는 것과 데이터베이스를 저장하는 것의 이점은 무엇입니까?큰 파일 저장을위한 가장 좋은 방법

+0

: 여기를 방지하기 위해 SQL 주입 방법의 간단한 예제를 보여주는 좋은 링크입니다. – Chronial

답변

1

확실히 데이터베이스를 사용하십시오. 그것은이다 : 쉽게

  • 쉽게는
  • 빠르게 [1]
  • (큰 데이터베이스 관리 도구의 많은이 있습니다) 유지 (단지 대신 텍스트를 구문 분석하는 노력의 PHP MySQL의 라이브러리를 사용) 쿼리

[1] 많은 상황에서 데이터베이스를 읽는 것이 훨씬 빨라지므로 데이터베이스가 훨씬 빨라질 수 있습니다. 일부 데이터베이스 시스템은 빠른 응답을 위해 자주 읽는 쿼리를 캐시합니다.

텍스트 파일에는 장점이 있습니다 (예 : 틀림없이 백업하기 쉽고, 텍스트 파일의 단어를 찾는 것이 SQL 삽입 공격에 취약하지 않음). 그러나 올바르게 구현되면 데이터베이스가 이와 같이 적합합니다.

+0

좀 더 설명해 주시면 어떻게 데이터베이스에 SQL 주입 공격을 피할 수 있습니까? 그리고 왜 당신은 텍스트 파일이 그것에 경향이 있다고 했습니까 ?? 죄송합니다. 나는이 모든 바보 같은 질문에 어리 석다. – Gurnor

+0

사실 나는 텍스트 파일을 쿼리하는 것이 데이터베이스 관련 위협이기 때문에 사출 공격에 취약하지 않다고 말했다. PDO 사용에 대해 살펴보십시오. http://php.net/manual/en/book.pdo.php 올바르게 구현되면 주입 공격에 대해 안전합니다. –

+0

SQL 삽입은 사용자가 데이터베이스의 데이터를 삽입하거나 수정할 수있는 경우에만 적용됩니다. 그것은 그 상황처럼 여기서는 들리지 않지만, 어쨌든 여기에 SQL injection에 대한 많은 정보가 있습니다 : http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php – EdoDodo

1

대용량의 정보를 참조 할 때마다 가장 좋은 방법은 데이터베이스와 인터페이스하는 것입니다. DB를 사용하면 대역폭을 줄이는 데 도움이되며 큰 텍스트 파일에 액세스 할 필요가 없습니다.

0

Gurnor는

당신은 더 작은 내가 어떻게 데이터베이스에 대한 SQL 주입 공격을 피할 수 설명해 할 수 있습니까? 그리고 왜 당신은 텍스트 파일이 그 파일에 걸리기 쉽다고 말했습니까?

텍스트 파일을 사용하는 경우 데이터베이스가 없으므로 SQL 주입 공격을 수행 할 방법이 없습니다. 데이터가 사용되는지에 완전히 의존

http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php