За последние 24 часа нас посетили 22855 программистов и 1225 роботов. Сейчас ищут 758 программистов ...

Как быстро освоить PHP

Тема в разделе "PHP для новичков", создана пользователем fenix_63, 16 мар 2015.

  1. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    может прокатывало 99?
    Исправил, в прошлый раз про него забыл, исправив год, про месяц и день забыл
    Сделал. Но с формой пока не сделал. Вместо этого использовал ссылку с заглушкой.
    Если ты про checkPostData() да, вынес его в соответствующие функции
    Указал, спасибо.
    ниже сам скрипт js Который обрабатывает запросы
    https://github.com/murad0587/test_work/blob/master/js/ajax_functions.js
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Код (Text):
    1. myRand = parseInt(Math.random() * 999999999999999);
    2.     var theURL = thePage + "?rand=" + myRand;
    А это зачем?
     
  3. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    чтобы не кэшировалось)

    Добавлено спустя 37 секунд:
    т.е. чтобы были каждый раз разные ссылки, и не попало значение из кэша
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Окай :) Только зачем рандом еще на что-то умножать? Он и так рандом. И вместо parseint рекомендуется использовать Math.floor() для получения целого. Если говорить на языке вакуума, то сферический конь в таком случае чуть круглее.
     
  5. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Ну так , просто Math.random() ничего не даст. поэтому умножаем на 999999999999999 и получим случаайно число из 999999999999999.
    Учту.
     
  6. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Каждый кто желает может предложит задачку, для продолжения этого же тестового задания. Сам же буду благодарен, если уделите минутку.
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    1) Переделай уж +1 в кнопку-то. Ссылкой некошерно.
    2) Найден баг. Залогинился я, увидел свои наклики, покликал еще мальца, жмакнул EXIT, меня разлогинило. Потом жмакнул в браузере "Назад", меня вернуло на страницу накликивателя. Число накликов показано не было, а вот +1 и exit были. Неплохо бы пофиксить, чтобы туда вообще нельзя было попасть. Жмакаешь "назад", а тебя сразу на страничку входа, без всяких там.
     
  8. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    ага, это я заметил, но оставил. Исправлю, чтобы неавторизованный пользователь не могу туда попасть.
    ок.
     
  9. machetero

    machetero Активный пользователь

    С нами с:
    25 окт 2014
    Сообщения:
    499
    Симпатии:
    21
    Вообщем вот моя попытка выполнить задание:
    Сайт - http://ci26527.tmweb.ru/index.php
    Исходники - https://github.com/machetero/repo
    Критика приветствуется ! (но не сильно суровая =))), это всётаки первое(и пока единственное) что я вообще написал на пхп.

    Добавлено спустя 1 минуту 46 секунд:
    так сказать первая поделка =)

    Добавлено спустя 1 минуту 42 секунды:
    Fell было бы круто еслиб ты ещё какое нибудь задание придумал )
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    По ТЗ все удовлетворяет, в целом, но:

    1) Черный шрифт на темном фоне - это плохо. Понимаю, что по стилям требований не было, но..черный шрифт на таком темном фоне это плохо.
    2) "Congrandulations" - no comments, brodzer :)
    3) Да и вообще, нафига инглиш-то давить? Делай на русском, все свои ж.
    4) Зарегался я, значит от 99 дня 99 месяца родом, меня конграндулнутуло с успехом, а потом непускаит. Я глупый юзерь, не понимай, в чем ошибаца. Чтонетак? Я щас буду полторачаса пытаца логиница, а потом переставлю венду.
    5) Попытался зарегаться опять с тем же логином, а меня послало, мол такой логин уже зареган. Но при этом зайти я не могу с него. В чем подвох? Опять венду переставлять? :(
    6) Кнопка работает через геты, кто-то может подсунуть мне ссылку под картинку на форуме, я обновлю страничку, и на твоем сервисе у меня счетчик сделает +1. А это страшно. Это модификация контента без ведома пользователя, но от его лица, это самая настоящая кросдоменная атака.
    7) $user['password'] == md5(md5($password).$user['salt']) для начала, ок, но на деле - фигня. md5 от md5 от md5 от md5 тоже фигня. Никак не поможет от коллизии, в случае чего. Да и сама md5 уже мальца устарела. Есть более надежные хэшфункции;
    8) Ты хранишь пользователей в базе, но их счетчики хранятся в файлах? Каждый клик васи пупкина где-то внутри сервера винт на запись дергает? А зачем? :)

    Как-то так.

    Добавлено спустя 6 минут 44 секунды:
    Могу по JS головоломку задать, если интересно.
     
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Глупый юзер не догадается состряпать свою форму и отправить на тот же адрес. Хотя естественно, дату надо проверить
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Я настолько глупый, что не умею ни в один браузер, кроме "Мотыго" 1996 года. Он не поддерживает выпадающие списки и, согласно стандарту, подменяет их на текстовые поля. И глупости во мне столько, что я думаю, что родился 99 числа 99 месяца. Как иначе объяснить тот факт, что я такой особенный?
     
  13. machetero

    machetero Активный пользователь

    С нами с:
    25 окт 2014
    Сообщения:
    499
    Симпатии:
    21
    Я только от вас узнал что так можно регаться ) Подумаю что можно с этим сделать
    Хз я проверю, но по идее должен заходить
    Про кросдоменные атаки слышал. Переделаю в POST
    Просто я хотел очень сильно счётчик через файлы сделать )) А если он будет базу данных дёргать это будет меньше грузить сервер ?
    Не джаваскрипт я ещё не изучал.
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Никогда не доверяй тому, что пришло от пользователя. Никогда.
    Сферический износ будет чуть поменьше, пожалуй. Хотя, в данном случае один фиг. Просто мне было интресно, чем ты руководствовался. Если руководствовался "Просто захотел вот так попробовать", то ок, аргумент принят.
    Эх)
     
  15. Scogzhe

    Scogzhe Зэк
    [ БАН ]

    С нами с:
    4 фев 2015
    Сообщения:
    109
    Симпатии:
    0
  16. engine.energy

    engine.energy Новичок

    С нами с:
    31 май 2015
    Сообщения:
    149
    Симпатии:
    0
    Вау =)

    Добавлено спустя 3 минуты 12 секунд:
    Зачем вы делаете такой код а что если пройдет 100 лет а скрипт останет дата рождения итог уменшит доступа рега. Так нельзя=)

    Добавлено спустя 14 минут 22 секунды:
    Эм чета я сильно нагибаю для вас и не стал дальше делать! Лучше свой проект писать =)

    [​IMG]
     
  17. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Верная мысль. Можно понять ограничение снизу для возрастного рейтинга, но зачем сверху? Если человек, к примеру, считает что родился где-нибудь в начале 16 века - его право )
     
  18. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    А просто так. Такое вот задание. Оно не для практической пользы, оно для развития. Всякие академические задачки, которые, например, в универе дают, вообще не имеют никакой ценности в реальной жизни. Но они ставят руки и голову на нужное место, а это важно. Задание ради задания.
     
  19. anvyd

    anvyd Новичок

    С нами с:
    17 апр 2015
    Сообщения:
    13
    Симпатии:
    0
    Завтра днем попробую реализовать задание на 1 странице, специально не стал перечитывать пост, чтобы не нарваться на подсказку, если к вечеру управлюсь, значит не все потеряно :)
     
  20. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Можно и не к вечеру. Спешка редко помогает.
     
  21. iNEEdhLw

    iNEEdhLw Новичок

    С нами с:
    22 окт 2014
    Сообщения:
    414
    Симпатии:
    0
    решил я и попробовать.
    если есть вопросы/интерес - могу скинуть и код.
    жду гуро-php :)
     
  22. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Сходу - при вбивании рандомных имени и пароля появляется белая страница с надписью "Continued...oh guys..." и все. Больше ничего. Дальше проверять не стал пока. Фикси :)
     
  23. iNEEdhLw

    iNEEdhLw Новичок

    С нами с:
    22 окт 2014
    Сообщения:
    414
    Симпатии:
    0
    в задании насчет этого ничего не было, а импровизировать я особо не стал,- поэтому сделал вывод строки "oh guys..." в том случае, если в БД нет юзеров с таким логином и паролем.
     
  24. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Ну вот это неинтуитивно и поставило меня в ступор. А если я ввел свой логин, но ошибся в пароле на 1 символ?
    Что это за "Continued...oh guys..."? Что оно должно мне сообщить? Я глупый юзер, а твой сайт не работает. Пойду к конкуренту.
     
  25. iNEEdhLw

    iNEEdhLw Новичок

    С нами с:
    22 окт 2014
    Сообщения:
    414
    Симпатии:
    0
    не стал ничего "хуманизировать", т.к. это просто проба пера, однако теперь всё же заредачил! =)