Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
По умолчанию драйверы Майкрософт для PHP для SQL Server используют проверку подлинности Windows для подключения к SQL Server. Следует отметить, что в большинстве случаев это значит, что для подключения к серверу используется удостоверение процесса или удостоверение потока веб-сервера (если веб-сервер использует олицетворение), а не удостоверение конечного пользователя.
При использовании проверки подлинности Windows для подключения к SQL Server необходимо учитывать следующие аспекты.
Для установки соединения учетные данные, с которыми выполняется процесс (или поток) веб-сервера, должны соответствовать допустимому имени входа SQL Server.
Если SQL Server и веб-сервер находятся на разных компьютерах, необходимо настроить SQL Server для поддержки удаленных подключений.
Примечание.
Атрибуты соединения, такие как Database и ConnectionPooling , можно задать при установке соединения. Полный список поддерживаемых атрибутов соединения см. в статье Connection Options.
Для подключения к SQL Server следует по возможности использовать проверку подлинности Windows по следующим причинам.
Во время проверки подлинности по сети не передаются никакие учетные данные; имена пользователей и пароли не внедряются в строку подключения базы данных. Это означает, что злоумышленники или пользователи-злоумышленники не смогут получить учетные данные путем мониторинга сети или просмотра строк подключения в файлах конфигурации.
На пользователей распространяется централизованное управление учетными записями, применяются политики безопасности, касающиеся, например, сроков действия паролей, минимальной длины паролей и блокировки учетных записей после нескольких неудачных запросов на вход.
Если использование проверки подлинности Windows не является целесообразным, см. статью How to: Connect Using SQL Server Authentication.
Пример SQLSRV
С помощью драйвера SQLSRV драйверов Майкрософт для PHP для SQL Server в следующем примере используется проверка подлинности Windows для подключения к локальному экземпляру SQL Server. После установки соединения на сервер отправляет запрос имени входа пользователя, осуществляющего доступ к базе данных.
В примере предполагается, что SQL Server и базы данных AdventureWorks установлены на локальном компьютере. При выполнении примера в браузере все выходные данные выводятся в браузер.
<?php
/* Specify the server and connection string attributes. */
$serverName = "(local)";
$connectionInfo = array( "Database"=>"AdventureWorks");
/* Connect using Windows Authentication. */
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
echo "Unable to connect.</br>";
die( print_r( sqlsrv_errors(), true));
}
/* Query SQL Server for the login of the user accessing the
database. */
$tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())";
$stmt = sqlsrv_query( $conn, $tsql);
if( $stmt === false )
{
echo "Error in executing query.</br>";
die( print_r( sqlsrv_errors(), true));
}
/* Retrieve and display the results of the query. */
$row = sqlsrv_fetch_array($stmt);
echo "User login: ".$row[0]."</br>";
/* Free statement and connection resources. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>
Пример PDO_SQLSRV
Следующий пример использует драйвер PDO_SQLSRV для выполнения той же задачи, что и в предыдущем примере.
<?php
try {
$conn = new PDO( "sqlsrv:Server=(local);Database=AdventureWorks", NULL, NULL);
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch( PDOException $e ) {
die( "Error connecting to SQL Server" );
}
echo "Connected to SQL Server\n";
$query = 'select * from Person.ContactType';
$stmt = $conn->query( $query );
while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){
print_r( $row );
}
?>
См. также
Практическое руководство. Подключение с использованием проверки подлинности SQL Server
Руководство по программированию драйверов Microsoft для PHP для SQL Server
Информация о примерах кода в документации
Практическое руководство. Создание имени входа SQL Server
Практическое руководство. Создание пользователя базы данных
Управление пользователями, ролями и именами входа