2013-02-09 2 views
0

У меня есть файл, созданный на сервере. Я бы хотел, чтобы он синхронизировался с устройствами ios. Он отлично работает, если оставить открытым, но как только я добавляю что-то вроде файла htaccess, он ломается.ical file sync to iOS devices защищает использование htacess

Можно ли синхронизировать файл с помощью iphone и обеспечить некоторую аутентификацию за кулисами, чтобы защитить файл ics. Я в среде LAMP.

Спасибо, Bart

ответ

2

Вы, казалось бы, есть PHP с тривиальной basic authentication setup. Обратите внимание, что это не особенно надежно, но это будет делать эту работу:

<?php 
if (!isset($_SERVER['PHP_AUTH_USER'])) { 
    header('WWW-Authenticate: Basic realm="My Realm"'); 
    header('HTTP/1.0 401 Unauthorized'); 
    echo 'Text to send if user hits Cancel button'; 
    exit; 
} else { 
    # lookup $_SERVER['PHP_AUTH_USER'] and the hash of {$_SERVER['PHP_AUTH_PW']} on the backend. 
    # return the contents of your ical file 
} 

Я надеюсь, что помогает, если нет, то оставить комментарий, указывающим, что нуждается в разъяснении, и я добавлю соответствующий код.

+0

Благодарим за отзыв. Я знаю, что это не большая защита, но я хотел чего-то, чтобы он не был открыт. Я смог заставить это работать. IOS представила диалоговое окно, когда оно пошло на «синхронизацию» в первый раз, по крайней мере, и, похоже, запоминает пароль (?). Я нахожусь в iOS 6.1 Однако я просто следую. Я не видел ($ _SERVER ['PHP_AUTH_USER']), так как я бы назвал файл напрямую файлом ics. Будет ли это указывать на файл php, который будет запускаться первым, а затем сгенерировать файл и заголовки ics. Извините, что возврат не работает для меня комментариев ... –

+0

Нет, поставьте это как конечную точку службы и получите файл iCal в отдельном каталоге, доступном для пользователя сети, и он будет работать. – hd1

+0

Извините, мне это еще не хватает. Я поместил файл iCal в папку, доступную в Интернете, без защиты? Где находится файл php и как он предотвращает доступ людей к файлу iCal. –