lucene.net комбинирует несколько фильтров и никакие критерии поиска

Обычно они не видят его. Но если что-то плохо происходит на сервере существует большая возможность, что сервер возвратит Ваш код php в простом тексте w/o выполнение его, и поэтому пользователь будет видеть весь источник того файла и также Вашего пароля.

Я сохранил бы пароль где-нибудь, где это не находится на корне документа (Не может быть открыто в браузере), и затем откройте тот файл с php и считайте содержание (пароль). Или если бы у Вас есть несколько паролей/пользователей, я сохранил бы их в базе данных для быстрого доступа.

Если Вы хотите использовать расположение каталога метода файла, должен выглядеть примерно так (depneds на сервере)

/public_html/index.php

/password.txt

$myFile = $_SERVER['DOCUMENT_ROOT'] + "/../password.txt";
if file_exists($myFile) { 
   $fh = fopen($myFile, 'r');
   $password = fgets($fh);
   fclose($fh);
} else die("No password file");
if ($user_input == $password) {
   ...... Authentication succeeded ..........
   ......your relatively protected code .....
} else die("Wrong password");

Если Вы хотите еще больше безопасности вместо того, чтобы хранить пароль как текст в том текстовом файле. Рана это - хеш и затем когда Вы хотите сравнить его с вводом данных пользователем, генерирует хеш от ввода данных пользователем и сравнивает его с хешем пароля, который Вы загрузили из текстового файла

sha1($user_input) == $password_from_txt
7
задан 20 August 2009 в 17:47
поделиться

1 ответ

Я думаю, вы задаете два вопроса ...

Вопрос 1: Добавление дополнительного фильтра

Помните, QueryFilter принимает любой ] (а не только TermQuery ). Следовательно, вы можете создать BooleanQuery критериев, по которым хотите выполнить фильтрацию.

TermQuery toolQuery = new TermQuery(new Term("Tool", "Nail"));
TermQuery nailLengthQuery = new TermQuery(new Term("NailLength", "3 inches"));

BooleanQuery filterQuery = new BooleanQuery();
filterQuery.add(toolQuery, BooleanClause.Occur.MUST);
filterQuery.add(nailLengthQuery, BooleanClause.Occur.MUST);

Filter f = new QueryFilter(filterQuery);

Вопрос 2: Поиск без условия поиска

Если пользователь не предоставляет условия поиска, вы можете выполнять поиск, используя запрос MatchAllDocsQuery .

12
ответ дан 6 December 2019 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: