Как разрешить пользователям из другого домена искать записи из моего домена? - PullRequest
1 голос
/ 10 июля 2009

На моем сайте пользователи могут искать по ключевым словам и находить нужные результаты. (Простой поиск по ключевым словам, ГДЕ слово LIKE% abc% ИЛИ LIKE% cde% и т. Д. И т. Д.). Это все отлично работает.

У меня есть несколько партнерских веб-сайтов, которые хотят разместить на своем веб-сайте окно поиска для поиска записей с моего веб-сайта и отображения на их веб-сайте.

Мы используем PHP и MYSQL. Должны ли сайты-партнеры использовать cURL-подобные программы? Я хочу, чтобы это было минимальным, но аутентифицированным усилием для моих партнерских сайтов.

Итак, мои вопросы - - как и с чего начать? - какие изменения мне придется внести в мой существующий поиск?

  • Какие практические примеры определенно помогут? (PS: я не ищу полного решения, но вы знаете, что некоторый код помогает понять вещи)

Спасибо всем.

Ответы [ 2 ]

4 голосов
/ 10 июля 2009

Ну, вы можете открыть весь сокет MYSQL, чтобы они могли устанавливать прямые соединения, но это было бы ужасным решением. Итак, что вы, вероятно, хотите сделать, - это создать некий простой веб-сервис, где другое программное обеспечение (например, cURL) может извлекать данные в машиночитаемой форме (например, JSON или XML). Проще говоря, вам просто нужно сериализовать результаты поиска в правильный формат, а не выводить их в HTML.

<?php

$search = array(
    array("id" => 1, "name" => "An item name", "description" => "The item description"),
    array("id" => 2, "name" => "Another name", "description" => "This is a description")
);

// Of course the array above is just an example. You would probably do something like this:
$search = find_items(mysql_real_escape($_GET['search']));

echo json_encode($search);

?>

Хорошо, что вы можете легко использовать те же данные через AJAX.

1 голос
/ 10 июля 2009

cURL был бы одним из способов сделать это, но лучшим подходом было бы использовать SOAP в этом случае. Вы в основном настраиваете wsdl (файл xml) для сайтов-партнеров для анализа, а затем отправляете соответствующие запросы в службу SOAP (например, аутентификация + условия поиска), а затем возвращаете данные (например, массив массивов (url, headline, desc) ).

При таком подходе в отличие от cURL возможна проверка подлинности веб-сайтов партнеров и, следовательно, простой способ определить, какой веб-сайт партнера генерирует какие поисковые запросы и т. Д.

Но это более сложное решение и требует расширения SOAP для PHP (с обеих сторон).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...