2014-03-24 68 views
0

只是想知道是這可能是一個潛在的安全問題與MySQL和PHP:PHP - MySQL安全問題?

我有一個服務器上的文件connect.php,如果有人使用require(http://myurl.com/connect.php/);,這將允許他們訪問我的數據庫?

在此先感謝

回答

4

不,但爲了更好的安全性,最好將敏感文件保存在web根目錄之外,如果你的web服務器的配置錯誤打破了PHP,並公開其爲純文本。

-3

如果您有'服務器端包括'啓用 - 是的。

閱讀allow_url_include指令:http://www.php.net/manual/en/filesystem.configuration.php

+2

我建議你仔細閱讀這個問題 –

+1

@ BaBL86你能否詳細說明爲什麼你認爲這可能? – user2370460

+0

@ user2370460您需要通過直接URL在此文件中打印帶有登錄名和密碼的PHP代碼。如果有人知道這條路(中文掃描儀已經知道) - 他們可以訪問你的數據庫。 – BaBL86

1

沒有,PHP變量是無法訪問的客戶端。例如,像這樣的文件

<?php 
// Create connection 
$con=mysqli_connect("example.com","peter","abc123","my_db"); 

// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

該變量將不能公開訪問。

3

不,這不會讓他們連接到您的數據庫。當他們通過互聯網需要你的connect.php時,他們會得到這個php腳本產生的內容。在你的情況下,你的PHP腳本(connect.php)可能不會產生任何輸出(它只是連接到數據庫並終止)

1

大概不會。如果「有人」不require(http://myurl.com/connect.php/);從他的服務器(和啓用通過HTTP與包容,看到http://www.php.net/manual/en/function.include.php),那麼他的服務器連接到你的服務器並獲取你的connect.php的解釋輸出