0
在我的Java代碼中,我有這樣的事情:傳遞SQL語句到PHP服務器POST
nameValuePairs.add(new BasicNameValuePair("sql", "INSERT INTO
`TABLE_NAME` (`id` , ,`description`)VALUES (NULL , 'some text')"));
但是,當串到達服務器,它是這樣的:
$sql = $_POST['sql'];
$sql
包含:
INSERT INTO `TABLE_NAME` (`id` , ,`description`)VALUES (NULL ,
\'some text\')
的事情是我想要的SQL語句傳遞給我的PHP服務器並執行他們的服務器上 是這樣的:
mysql_query($sql,$con);
我想我可以發送SQL語句到服務器,然後解析響應。但是我想要的SQL語句將被構建在Java應用程序中。
應該怎麼做?
這是否足夠保護?
if(isset($_GET['phpusername']) && ($_GET['phpusername'] == "user"))
{
if(isset($_GET['phppassword']) && ($_GET['phppassword'] == "pass")) {
`//do some execution of raw sql query`
} }
這是一個** BAAAAADDDD **的想法..考慮某人的情況搞清楚你的HTTP請求結構並傳入'sql = DROP TABLE students;'。永遠不會傳遞客戶端/服務器之間的原始sql。傳遞單獨的數據位,例如一個id值,然後在服務器上構建您的查詢。 –
可以給一些鏈接在哪裏應該閱讀更多關於這應該如何完成? (沒有閱讀500頁的書) – Lukap
是的MarcB是對的。請認真改變你的設計** –