我目前正在一個有2個鏈接的網站上工作。 Upvote & downvote。 投票存儲在mysql中,在一個名爲「數據」,列「是」和「否」的表中PHP Mysql IF語句
我已經成功創建了一個查詢來更新yes或no的計數,然後將值這一頁。但是,目前用戶可以通過垃圾郵件點擊按鈕,計數將繼續增加。
我已經開始使用$ ip = $ _SERVER ['REMOTE_ADDR']記錄IP地址; &把它們放在名爲「ips」的表格中,並添加了「ipaddresses」列。
現在,我想改變我的代碼,以便它會查詢MySQL和檢查「IPS」表$ IP,如果返回true,則死亡();否則,如果...執行upvote查詢。這將使得一個人只能爲每個IP投票一次。
這裏是我當前的代碼:
<?php
if ($_GET['vote']=="yes") {
// Connection to database
$connection=mysqli_connect("hostname-here","username-here","password-here","database-here");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($connection,"UPDATE data SET yes = (yes + 1) WHERE ID = $_GET[id];");
mysqli_close($connection);
echo "Voted.";
}
?>
幫助,將不勝感激,我GOOGLE了很多,無法找到任何工作。謝謝!
[你的腳本是在對SQL注入攻擊的風險。(http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) –
爲什麼不只用會話/令牌來做?當然不得不設置另一張桌子。並可能添加一個JS按鈕來提交一次。使用IP地址不是非常有效。 –
我不關心SQLi。它是本地主機,不會去任何地方。我對會話/令牌沒有經驗,我只想爲此做一個簡單的修復。沒有其他的。 –