Защита от повторной записи

Discussion in 'PHP' started by RRR_RRR, 3 Feb 2013.

  1. RRR_RRR

    RRR_RRR Member

    Joined:
    20 Jun 2012
    Messages:
    396
    Likes Received:
    35
    Reputations:
    0
    Добрый вечер ребята
    У меня такой вопрос
    Допустим html form отправляет данные на пхп обработчик и этот обработчик записывает данные в файл а потом перенаправляет юзера , я хочу чтоб перед тем как записывать данные он проверял что эти данные уже записывались или нет , как бы хочу защитится от флуда без капчи
    Буду рад услышать ваши предложении
     
  2. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    140
    Reputations:
    4
    ну можно хэш всех полей конкатинированных в mysql UNIQUE куда нить записывать. и проверять при записи. можно и без UNIQUE на самом то деле , но с ним уже 100% 2 одинаковых записей не будет. можешь прямо отбельную ячейку для хэша в таблице сделать. и сделать ее UNIQUE .
    только про trim не забудь. или вообще все пробельные символы вырежи. и в нижний регистр заодно
     
    #2 barnaki, 3 Feb 2013
    Last edited: 3 Feb 2013
  3. kroŧ

    kroŧ Member

    Joined:
    19 May 2010
    Messages:
    129
    Likes Received:
    33
    Reputations:
    8
    PHP:
    $file=file('file.txt');
    $p='123'.PHP_EOL;//что искать +символ перевода строки
    if(in_array($p,$file)){
    echo 
    'Запись присутствует!';
    }else{
    echo 
    'Отсутствует!';
    }
     
  4. Darth Padla

    Darth Padla Member

    Joined:
    21 Jun 2010
    Messages:
    141
    Likes Received:
    25
    Reputations:
    8
    при чём тут Mysql?
     
  5. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    Без синхронизации доступа к файлу(e.g. flock), на момент проверки, нет гарантий что повтора не будет.
     
    1 person likes this.
  6. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    140
    Reputations:
    4
    а почему нет ? почему файл а не mysql ? данные в файлах могут только очень начинающие хранить. гибкость выборок и вставок в файл просто курит в стороне .потому и бд. есть спец миханизмы называющиеся базы данных специально для этого предназначенные. пока ты свои парсеры будешь писать я 1 запрос добавлю. к тому же не засираю систему лишними файлами а использую 1 дополнительную ячейку в строке.
     
    #6 barnaki, 5 Feb 2013
    Last edited: 5 Feb 2013
Loading...
Similar Threads - Защита повторной записи
  1. GAiN
    Replies:
    3
    Views:
    7,762