3

PHP から MSSQL データベースに接続する必要があります。ただし、リモート サイトのサーバーが接続されているため、接続を暗号化する必要があります。

PHP または代わりに PDO の mssql 拡張のみを使用して、MSSQL サーバーへの接続を暗号化することは可能ですか?

4

1 に答える 1

3

MSSQLへの安全な(暗号化された)接続を実装する際に重要な3つのことがあります。

  1. オプションEncryptTrustServerCertificateは、しばしば一緒に使用されます。
  2. デフォルトでは、SQLサーバーは、接続の暗号化に使用する自己署名証明書をインストールしますが、自己署名証明書は攻撃を受けやすくなっています。したがって、認証局(CA)のものと交換する必要があります。
  3. 証明書を置き換えた後、設定Encrypt = trueしてTrustServerCertificate = falseTrustServerCertificate = trueこれも機能しますが、接続は攻撃に対して脆弱になります)

記事*1のコード例:

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

PDOを使用する場合は、オブジェクトを作成し、関連するパラメータを渡します。詳細な説明については、次の記事を参照してください。

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

于 2013-02-19T14:17:44.897 に答える