При добавлении комментария, определяется IP пользователя
$IP = $_SERVER["REMOTE_ADDR"];
дата и время
$date = date("d-m-Y H:i");
Захотел сделать функцию редактирования комментариев.
Ссылку для редактирования думаю показывать если IP при добавление комментария совпадает с текущим IP.
if ($IP == $myrow["IP"])
{
echo ('<a href="edit.php?id=id_комментария">Редактировать</a></p>');
}
НО люди могут заходить на сайт с прокси серверов и тогда ссылка будет доступна не только автору комментария.
Нашёл в интернете скрипт по определению настоящего IP адреса:
/* By Grant Burton @ BURTONTECH.COM (11-30-2008): IP-Proxy-Cluster Fix */
function checkIP($ip) {
if (!empty($ip) && ip2long($ip)!=-1 && ip2long($ip)!=false) {
$private_ips = array (
array('0.0.0.0','2.255.255.255'),
array('10.0.0.0','10.255.255.255'),
array('127.0.0.0','127.255.255.255'),
array('169.254.0.0','169.254.255.255'),
array('172.16.0.0','172.31.255.255'),
array('192.0.2.0','192.0.2.255'),
array('192.168.0.0','192.168.255.255'),
array('255.255.255.0','255.255.255.255')
);
foreach ($private_ips as $r) {
$min = ip2long($r[0]);
$max = ip2long($r[1]);
if ((ip2long($ip) >= $min) && (ip2long($ip) <= $max)) return false;
}
return true;
} else {
return false;
}
}
function determineIP() {
if (checkIP($_SERVER["HTTP_CLIENT_IP"])) {
return $_SERVER["HTTP_CLIENT_IP"];
}
foreach (explode(",",$_SERVER["HTTP_X_FORWARDED_FOR"]) as $ip) {
if (checkIP(trim($ip))) {
return $ip;
}
}
if (checkIP($_SERVER["HTTP_X_FORWARDED"])) {
return $_SERVER["HTTP_X_FORWARDED"];
} elseif (checkIP($_SERVER["HTTP_X_CLUSTER_CLIENT_IP"])) {
return $_SERVER["HTTP_X_CLUSTER_CLIENT_IP"];
} elseif (checkIP($_SERVER["HTTP_FORWARDED_FOR"])) {
return $_SERVER["HTTP_FORWARDED_FOR"];
} elseif (checkIP($_SERVER["HTTP_FORWARDED"])) {
return $_SERVER["HTTP_FORWARDED"];
} else {
return $_SERVER["REMOTE_ADDR"];
}
}
//Override server variable for Wordpress comments
$_SERVER["REMOTE_ADDR"] = determineIP();
Хотел услышать Ваше мнение об этом скрипте, будет ли он на самом деле работать.
Так же можно в целях защиты сделать, что бы ссылка была доступна в течении 10 минут со времени добавления комментария, но как это сделать я к сожалению не знаю. Подскажите пожалуйста, как можно осуществить эту идею.
Спустя 4 минуты, 29 секунд (25.11.2010 - 20:09) Kuliev написал(а):
xJlaIIax
Редактирование камментов без регистрации это конечно ЖЕСТЬ но рас так то попробуйте отправлять куку пользователю!
Редактирование камментов без регистрации это конечно ЖЕСТЬ но рас так то попробуйте отправлять куку пользователю!
Спустя 52 минуты, 18 секунд (25.11.2010 - 21:02) xJlaIIax написал(а):
Цитата (Kuliev @ 25.11.2010 - 17:09) |
попробуйте отправлять куку пользователю! |
Спасибо за совет!
Скорее всего так и сделаю, я правда никогда с ними не работал, буду разбираться.
А никто не украдёт куки?
Спустя 8 минут, 22 секунды (25.11.2010 - 21:10) Kuliev написал(а):
Цитата (xJlaIIax @ 25.11.2010 - 23:02) | ||
Спасибо за совет! Скорее всего так и сделаю, я правда никогда с ними не работал, буду разбираться. А никто не украдёт куки? |
Все может быть
Спустя 9 минут, 51 секунда (25.11.2010 - 21:20) xJlaIIax написал(а):
Для интереса, приведенный выше скрипт по определению настоящего IP адреса будет работать?