Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Alapértelmezés szerint az SQL Server PHP-illesztőprogramjai Windows-hitelesítéssel csatlakoznak az SQL Serverhez. Fontos megjegyezni, hogy a legtöbb esetben ez azt jelenti, hogy a webkiszolgáló folyamati identitását vagy szálidentitását (ha a webkiszolgáló megszemélyesítést használ) a kiszolgálóhoz való csatlakozáshoz használja, nem pedig a végfelhasználó identitásához.
A következő szempontokat kell figyelembe venni, amikor Windows-hitelesítést használ az SQL Serverhez való csatlakozáshoz:
A webkiszolgáló folyamatának (vagy szálának) a futtatása során használt hitelesítő adatoknak érvényes SQL Server-bejelentkezéshez kell kapcsolódniuk a kapcsolat létrehozása érdekében.
Ha az SQL Server és a webkiszolgáló különböző számítógépeken található, az SQL Servert úgy kell konfigurálni, hogy engedélyezze a távoli kapcsolatokat.
Megjegyzés:
Kapcsolati attribútumok, például az Adatbázis és a ConnectionPooling beállíthatók a kapcsolat létrehozásakor. A támogatott kapcsolatattribútumok teljes listáját a Kapcsolat beállításai című témakörben találja.
Windows-hitelesítést kell használni az SQL Serverhez való csatlakozáshoz, amikor csak lehetséges, az alábbi okokból:
A hitelesítés során a rendszer nem ad át hitelesítő adatokat a hálózaton; a felhasználónevek és jelszavak nincsenek beágyazva az adatbázis-kapcsolati sztringbe. Ez azt jelenti, hogy a rosszindulatú felhasználók vagy támadók nem tudják beszerezni a hitelesítő adatokat a hálózat figyelésével vagy a konfigurációs fájlokban lévő kapcsolati sztringek megtekintésével.
A felhasználók központi fiókkezelés alá tartoznak; olyan biztonsági szabályzatok, mint a jelszó lejárati ideje, a jelszó minimális hossza és a fiók zárolása több érvénytelen bejelentkezési kérés kényszerítése után.
Ha a Windows-hitelesítés nem praktikus megoldás, olvassa el a Csatlakozás SQL Server-hitelesítéssel című témakört.
SQLSRV-példa
Az SQL Serverhez készült MICROSOFT Drivers for PHP SQLSRV illesztőprogramjának használatával az alábbi példa a Windows-hitelesítést használja az SQL Server helyi példányához való csatlakozáshoz. A kapcsolat létrejötte után a rendszer lekérdezi a kiszolgálót az adatbázishoz hozzáférő felhasználó bejelentkezéséhez.
A példa feltételezi, hogy az SQL Server és az AdventureWorks adatbázis telepítve van a helyi számítógépen. A rendszer minden kimenetet a böngészőbe ír, amikor a példa a böngészőből fut.
<?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 példa
Az alábbi példa az PDO_SQLSRV illesztővel hajtja végre ugyanazt a feladatot, mint az előző minta.
<?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 );
}
?>
Lásd még:
Útmutató: Csatlakozás SQL Server-hitelesítéssel
Programozási útmutató a Microsoft által az SQL Serverhez készült PHP-illesztőprogramokhoz
Tudnivalók a dokumentációban szereplő példakódokról
Útmutató: SQL Server-bejelentkezés létrehozása
Útmutató: Adatbázis-felhasználó létrehozása