Бан по IP испульзуя PHP + MySQL

Тема в разделе "Как сделать...", создана пользователем OREON, 6 фев 2013.

  1. OREON

    OREON

    Регистр.:
    18 янв 2009
    Сообщения:
    376
    Симпатии:
    66
    Народ помогите ,не могу понять как зделать чтоб когда айпи забаненого скрипт находит в базе ,не пускал например добавлять на сайт статьи?Вот напрмер есть скрипт ban.php
    через него я добавляю айпи в базу,а через вот этот делаю проверку в базе на бан chek.php

    Дальше проверку подключаю в главную страницу иклюдом
    Код:
    <? include("ban/chek.php"); ?>
    Так вот когда я баню на сайте свой же айпи,то мне пишет внизу страници что я забанен но в тоже время я могу писать что угодно на сайте и так далее.Подскажите что куда нужно еще дописать чтобы юзер который забанен не мог писать и добавлять как коментарии так и новости?
    Ногами прошу не пинать,я не профессионал и не програмист.
     
  2. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.726
    Симпатии:
    2.100
    ну так банопроверка должна проходить до начала обработки всего и вся, если это index.php то такая проверка должна быть вначале, иначе она просто может не вызываться, если файл постинга новостей вообще отдельным файлом существует.
    а вообще нужно смотреть, что вызывается с клиента, тоесть нужно чётко отследить цепочку клиент->сервер->испольняемый файл. если исполняемый файл только один и только через него всё проходит - тогда странно. но думаю, что вполне вероятно вызывается что-то другое.
     
  3. recasher2k12

    recasher2k12

    Регистр.:
    19 фев 2012
    Сообщения:
    156
    Симпатии:
    78
    Я тоже системный администратор :)
    Но, по-моему, банить - задача не для php. Я бы включал забаненные ip в таблицу ipfw, или что у вас там!? А забаненные куки - в конфиг nginx.
    Минимум программирования. Максимальная эффективность.
     
  4. OREON

    OREON

    Регистр.:
    18 янв 2009
    Сообщения:
    376
    Симпатии:
    66
    Вы не поняли мне нужно сделать для сайта а не для серверной стороны,есть сайт по добавлению на него новостей -вот я и хочу реализовать на нем ,чтобы если юзер забанен на сайте он не мог отправлять на сайте через форму новостей,новость,а вот как зделать чтобы еще форма отправки проверяла (не забанен ли айпи этого юзера)если да то недавала постить статью на сайт
     
  5. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    PHP:
    if(@mysql_num_rows($result) > )
     {die(
    "Вы забанены!");}
     else{echo
    "Вы не забанены!";}
    ну и собственно почему в низу страницы ??

    проверку надо делать ещё до вывода контента пользователю

    те
    PHP:
    <? include("ban/chek.php"); ?>
    должно быть в самом начале index.php
     
  6. OREON

    OREON

    Регистр.:
    18 янв 2009
    Сообщения:
    376
    Симпатии:
    66
    Всеравно если я даже вставляю в начало файла

    который отвечает за добавление статьи на сайт и в саму форму добавления новости,то мне только выводит при заходе на эту страницу что я забанен и всеравно я могу добавить статью на сайт,это говорит отом что либо неправильно написана проверка на бан или я чегото еще недописал чтобы запретить юзеру писать в форму или отправлять из формы статьи
     
  7. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.726
    Симпатии:
    2.100
    так может новость вообще постит в другое место, проследили куда уходит запрос и чем он обрабатывается?
     
  8. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    тебе нужно в тот файл php в котором получаются переменные $_POST добавить эту строку

    при чём не так

    PHP:
    <? include("ban/chek.php"); ?>

    <? //далее остальной весь код

     ?>
    а вот так

    PHP:

    <? 
    include("ban/chek.php"); 
    //далее остальной весь код

     ?>
     
  9. OREON

    OREON

    Регистр.:
    18 янв 2009
    Сообщения:
    376
    Симпатии:
    66
    Всеравно несмотря на то что я и вставляю туда код этого файла,новость всеравно можно добавлять даже если оно мне пишет
    ,я хоть и не специалист в PHP но уверен что код мой выше не полностью правильный или же в нем нехватает еще чегото[/quote]вот файл отвечающий за добавление новости и код который я разместил для проверки айпи
     
  10. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    блин ну я же сказал как надо

    инклуд должен быть в том же <? ?> что и получение $_POST

    а у тебя их множество

    вставь инклюд перед строчкой
    PHP:
    if(@$_POST['short'] && @$_POST['full'] && @$_POST['title']){