Se connecter à MSSQL à partir de PHP en toute security avec le chiffrement?

J'ai besoin de me connecter à une database MSSQL depuis PHP. Cependant, comme un server sur un site distant est connecté, j'ai besoin que la connection soit cryptée.

Est-il possible d'utiliser crypter la connection au server MSSQL en utilisant seulement l'extension mssql pour PHP ou encore PDO?

Il y a 3 choses qui sont importantes lors de l'implémentation d'une connection sécurisée (cryptée) à MSSQL:

  1. Les options Encrypt et TrustServerCertificate sont souvent utilisées set.
  2. Par défaut, le server SQL installe un certificate autosigné qu'il utilisera pour crypter les connections. Les certificates autosignés sont cependant ouverts aux attaques. Donc, il devrait être remplacé par un d'une autorité de certificateion (CA).
  3. Après avoir remplacé votre certificate, vous définissez alors Encrypt = true et TrustServerCertificate = false ( TrustServerCertificate = true fonctionnera également, mais votre connection sera alors vulnérable aux attaques)

Code-exemple de l'article * 1:

 $serverName = "serverName"; $connectionInfo = array( "Database"=>"DbName", "UID"=>"UserName", "PWD"=>"Password", "Encrypt"=>true, "TrustServerCertificate"=>false); $conn = sqlsrv_connect( $serverName, $connectionInfo); 

Si vous utilisez PDO, créez un object et transmettez les parameters pertinents. Pour une explication plus détaillée, veuillez consulter l'article suivant:

* 1 – http://blogs.msdn.com/b/brian_swan/archive/2011/03/08/sql-server-driver-for-php-connection-options-encrypt.aspx