Профиль пользователя заблокирован сроком с 6 мая 2016 г. и навсегда по причине: Мат в комментариях
Ответы пользователя по тегу PHP
  • Как парсить элементы с сайта на страницу своего сайта?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Хочется какого-то простого решения, почти dragndrop вариант.

    Это от сайта зависит. Если специального API нет - то не выйдет.

    Как парсить элементы с сайта на страницу своего сайта?

    Ну, очевидно, 2 способами - либо к сайту делать запросы с бек-енда (curl и т.д.), либо с фронт-енда (JS).
    Что именно выбрать - это смотря что нужно и смотря что возможно (не всегда можно из JS - кросс-доменная политика сайта запросто может это запрещать)
    Еще Flash можно попробовать, тоже фронт-енд...
    Ответ написан
    Комментировать
  • Как наладить "общение" между PHP-скриптом и C#-программой в Windows?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Через exec и stdout/stdin (правда, не знаю, возможно ли последнее со стороны PHP).
    Ответ написан
    1 комментарий
  • HTML страница комментирует мой php код, что делать чтобы он отображал php код как есть?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Расширение файла смените на .php
    Если и так .php - выкиньте уже это старье денвер и поставьте XAMPP какой-нибудь.
    Ответ написан
    2 комментария
  • Ajax+php форма обратной связи без перезагрузки для лендинга?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    > как правильно оформляют обратные формы для простого лендинга, с использованием лишь js или же с использованием ajax+php?
    PHP обязателен, т.к. без него невозможно ничего отправить ни на e-mail, ни тем более в БД.

    1. Создают PHP-скрипт, который принимает параметры POST-запроса и через echo выдает ответ: удачно или нет (можно в формате JSON).
    2. Из JS делают к этому скрипту POST-запрос, см. xmlhttprequest.ru
    3. Далее JSом же обрабатывают ответ скрипта, и если там удачно, то выводят соответствующий alert или еще что, а если нет - то тоже что-то выводят.
    Всё.
    Ответ написан
    Комментировать
  • Как узнать ajax запрос?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Заголовок можно добавить самому (это если использовать голый XHR - см. выше), и многие аяксовые JS-библиотеки тоже его добавляют по умолчанию (автоматом), в т.ч. jQuery, если не ошибаюсь.
    Ответ написан
    1 комментарий
  • На каком языке парсить?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    > если отправить запрос и спросить необходимые мне данные может и сам javascript
    Если действительно JS может (для этого парсимая ссылка должен разрешать кросс-доменные запросы) и если не смущает, что парсинг будет создавать нагрузку на клиент и идти с его IP, то делайте на клиенте.
    Ответ написан
    Комментировать
  • Сложно ли статические страницы сделать динамическими?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Статический - это даже без PHP (без БД), просто HTML+CSS?
    Конечно, тяжеловато превратить, особенно если контента статического уже много накопится, и он будет не упорядочен (не получится написать автоматический парсер для импорта в БД)
    Но можно облегчить переход, если плавно. Например, есть статический сайт, а нам надо с аяксовым REST API с ответами в формате JSON.
    Делаем как-то так:
    статика -> динамика с БД, но без AJAX -> делаем AJAX с text/html -> делаем AJAX с JSON
    (заодно мы выгадаем еще "тонкоклиентный" вариант API, где text/html, что во многих случаях может оказаться лучше, чем JSON, за счет быстродействия на клиенте; ИМХО API должно иметь оба варианта, многие со мной согласятся, например, ВКонтакте)
    Ну и количественно тоже надо делить задачу.
    Ответ написан
  • В каком формате сделать ответ API?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    А если ошибка какая? Лучше JSON и XML (именно ОБЕ версии - и JSON приоритетнее).
    Но можно оставить и такой вариант - как еще одна версия.
    А в идеале, еще и четвертый вариант добавить - возвращать сразу HTML, это не для приложений, а для аякса в браузере, - чтобы не нагружать клиент (браузер) лишним парсингом JSON/XML/цифры.
    А может еще и пятый, шестой, седьмой)) смотря что за сервис
    Ответ написан
    Комментировать
  • Как отправить AJAX-ом innerHTML на сервер и там его получить?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Да точно то же самое, innerHTML тоже строка. Только Content-Type надо text/html, впрочем, в вашем примере это вообще неважно, хоть вовсе его убрать.

    А зачем это нужно-то? Если вы хотите ее на серваке куда-то сохранять напрямую, то учтите, что какой-нибудь гаденыш может вам отправить <script>alert()</script> а если с расширением .php то полный ...

    P.S. И да, jQuery надо юзать.
    Ответ написан
    9 комментариев
  • Почему не передаются данные из контактной формы?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Так вы в JSе поля формы-то и не отправляете нигде. Просто делаете AJAX-запрос к action и все.
    Или я тупой, а jQuery умнее меня, и даже в такой ситуации догадывается что надо отправить поля?))) Сомневаюсь.

    Вообще сниффер Fiddler советую для подобных случаев, он ведет журнал запросов от клиента к серверу, смотришь журнал и сразу ясно, правильный ли запрос отправил клиент, и если правильный, то на серваке проблема
    Ответ написан
    3 комментария
  • Какую книгу по програмированию/ресурсы выбрать чтоб в последующем писать скрипты/ботов/автокликеры?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Именно автокликеры как таковые - это очень просто, пишется почти на любом ЯП, но они фигня полная.
    Медленно, неудобно в использовании, ведь на экране все время окошки мелькают, а главное - криво (программно очень сложно определить, когда уже появилось окошко, а когда нет, и тем более сложно определить, если это не окошка, а элемент на веб-странице, который еще и подгружается не сразу же.

    А вот реальное ботостроение - это почти что хакерство, а иногда и натуральное хакерство, соответственно никаких книг нет, и методология обучения должна быть практически-экспериментальной, иначе ничего не получится.

    Начинать действительно стоит с HTTP/HTTPS (это протокол, по которому работает 99,(9)% сайтов и немало приложений),
    Суть здесь в том, что клиентская часть при определенных действиях юзера делает запросы к серверной, вот эти запросы мы сперва вручную перехватываем, затем на любом ЯП имитируем их отправку.
    Для перехвата (это исследовательская часть работы - Research) понадобится сниффер Fiddler. А для отправки запросов (Development) - почти любой ЯП годится, но под виндой лучше C# либо Delphi.
    Подробнее:
    https://otvet.mail.ru/answer/1794591622
    Отмечу, что этот вариант подходит и для сайтов с AJAXом, коих сейчас очень много.
    Советую также изучить AJAX, ведь не умея самому сделать такую архитектуру, вы и с чужим сайтом не разберетесь. Статья по AJAX:
    codeproject.com/Tips/1065669/How-To-Build-Web-Site...
    Все же здесь имеются и нюансы, например, приложение может работать через свой прокси, что затрудняет перехват запросов Fiddlerом, или же это вообще приложение под мобильную ОС, где снифферов толком нет. В целом все это обходится, любому приложению можно задать фиддлеровский прокси, приложения для Android запускаются на Genymotion опять же с прокси и т.д.

    НО! Не стоит ограничиваться HTTP/HTTPS.
    Почему?

    1. Некоторые сайты работают по протоколу TCP (голые сокеты, это ниже уровнем, чем HTTP/HTTPS). Fiddler не покатит.
    Чтобы понять эту архитектуру, и поэкспериментировать с протоколом, советую освоить NodeJS и socket.io - это лучший способ создать свой простенький сайтик с TCP и использовать его как полигон для изучения TCP и написания первого своего бота такого уровня. В качестве сниффера здесь Wireshark, он сложнее и не столь удобен, но можно и с ним справиться.
    Еще бывает протокол RTMP (но это уже с Flashем, на чистом JS не бывает), там вроде Adobeовский какой-то бек-енд, тоже надо освоить так же, как и TCP. В качестве сниффера - Wireshark годится вроде.
    А самый абзац - это клиентские приложения. Вроде Skype, Viber, WhatsApp и т.д. Приложение в отличие от сайта может юзать вообще какие-то редкие протоколы или вовсе свой протокол, из них вроде XMPP самый простой и открытый, с этим сам пока не разбирался.

    2. На некоторых сайтах вроде бы HTTP/HTTPS и все понятно.
    Но всего слишком много. Просто слишком много. Слишком много запросов на одно действие, слишком много параметров запросов, слишком много куков. Например, гугловские сервисы славятся этим.
    Все это имитировать HTTP-запросами реально устаешь, а если хоть что упустишь, то это потенциальная проблема (а боты и так периодически ломаются, когда бек-енд меняется)
    В ряде случаев лучше взять PhantomJS (можно через CasperJS), это браузерный движок, но не простой, а специально для таких целей. Он представляет почти весь функционал, какой нужен. Боты получаются не столь быстрые, как на голых HTTP-запросах (которые, очевидно, даже быстрее человека с браузером), и все это на NodeJS (под виндой это скорее недостаток, чем достоинство, лучше бы C#, хотя можно и PhantomJS прикрутить к C#, но криво), но зато боты более стабильные выходят (гораздо более похожие на реальный браузер с гораздо меньшими усилиями по имитации), и пишутся быстрее.

    P.S. Профессиональный ботовод, бюджет иных проектов составлял 5-значные числа.
    Ответ написан
    Комментировать
  • Фриланс в России без подписок?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Мне и cyberforum.ru хватает, никаких фриланс-бирж не надо. Главное быть спецом, иметь портфолио, кучу статей на CodeProject/хабре, свой сайт...
    Не сказать, что зарабатываю хорошо, но с каждым годом все больше и стабильнее, и зато свобода во всем. Без работы долго не сижу.
    Ответ написан
    2 комментария
  • Как получить HTML код страницы какого-нибудь сайта через JS?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    А Flash не покатит?

    Вообще-то нормальное API должно возвращать ответ с заголовком, разрешающим кросс-доменные запросы.
    Другое дело, когда разрабы это не делают, нарочно либо по незнанию.
    Ответ написан
    Комментировать
  • Как понять что дано программировать?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Хочется создавать программы. Мне захотелось тогда же, когда увидел комп и посидел за ним. В 6-7 лет. Возможности программировать не было, поэтому я имитировал интерактив с помощью PowerPoint, а еще на досуге брал белый лист бумаги, рисовал GUI и фантазировал, будто это какая-то программа.
    Ответ написан
    Комментировать
  • Серверные языки - как не запутаться и что изучить?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    > c# на нем еще пишут?)
    С чего вдруг столь странный вопрос?

    > Есть ли смысл браться за все направления серверной разработки?
    Есть.
    Я еще и десктопную туда добавил, и мобильную, и еще ряд более редких направлений. И ни разу не жалею.

    > Что учить?
    Учат - стихи, наизусть.
    А программированию - учатся.
    Главное в программисте - это понимание общей логики. Веб не исключение. Скажем, формы (form) - они и в Африке формы. HTTP-запросы - они и в Африке HTTP-запросы. MVC - он и в Африке MVC. И главное - гугл - он и в африке гугл.
    И чем больше вы изучите разных средств (в смысле изучите на практике, а не сколько учебников прочитаете), тем обширнее, глубже и тверже будут эти знания.
    Да, если говорить об учении наизусть (чтоб прям все функции помнить без гугла), то лучше что-то одно, чем много, ведь голова-то имеет ограниченный объем памяти. Но знать функции наизусть - задача кодера, а не программиста.
    Ответ написан
    4 комментария
  • Как лучше отдавать контент браузеру?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Вариант с HTML быстрее работает и быстрее реализуется, особенно если имеете сайт без AJAX и вам нужно за день добавить AJAX.
    Реально очень быстро можно сделать.
    Почитайте, в этой статье все с этого начинается:
    codeproject.com/Tips/1065669/How-To-Build-Web-Site...

    Но в том случае, если соберетесь также писать мобильный/десктопный клиент для своего сайта, то из какой-нибудь Java работать с HTML (мучительно парсить его через регулярки или DOM-модель), будет неудобно.
    Также не очень удобно будет делать рестайлинг подобного сайта, придется копать и бек-енд.
    Из рассчета на такие случаи, лучше сделать удобное стройное REST API, которое возвращает только данные (т.е. JSON), а обработкой занят уже чисто клиент.

    Кстати, "компиляцию" в HTML помогают упростить библиотеки типа ReactJS. Сам пока не пробовал, но говорят, что да, причем это не то, что jQuery, а нечто другое.
    Ответ написан
    Комментировать
  • На чем писать новостные/информационно-развлекательный порталы? CMS или на голом фреймворке?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Добавлю к Станиславу:
    помимо умений и рук, еще так или иначе нужен бюджет и сроки. А они определяются тем, реально ли в данном проекте нужна уникальная "техническая часть" или нет. Если да - фреймворки (а то и вообще голые HTML+JS+CSS+серверный ЯП+БД). Если нет - CMS.
    Это от проекта зависит.
    Ответ написан
    Комментировать
  • Не подключается база данных?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Для взаимодействия с MySQL из PHP, надо юзать mysqli.
    Вот тут простейший пример чата с применением mysqli (выборка и добавление записей):
    codeproject.com/Tips/1065669/How-To-Build-Web-Site...
    Вообще статья про AJAX, но в начале там все делается как раз без AJAX, как и без прочих наворотов. В этом и изюминка.

    > Не через PHPMyAdmin, потому, что к нему, говорят, лучше не привыкать.
    Чушь говорят. Это вообще другое. phpMyAdmin - это средство для администрирования баз данных (прежде всего - создания и дизайна их). Это НЕ средство для программного подключения к ним.
    Но для программного подключения, БД сперва нужно создать со всеми таблицами. phpMyAdmin здорово упрощает эту работу.
    Ответ написан
    Комментировать
  • Загрузка видео-роликов и их просмотр на сайте без YouTube - как?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    YouTube полностью работает по протоколу HTTP(S).
    Поэтому, если официальное API не позволяет сделать задуманного, то можно взять сниффер вроде Fiddler, отследить те GET/POST-запросы, которые фронт-енд ютуба отправляет бек-енду при загрузке видео, и имитировать их отправку на PHP, чтобы получить то же самое, что получил бы фронт-енд.
    Не сказать, чтобы это было легко в случае с гугловскими сервисами. Google берёт количеством. Это их фирменный индусский стиль. Там тупо слишком много всего придется учесть и имитировать: много и параметров, и запросов, и кода. Времени и сил много потратить придется. Но тем не менее, это 100% возможно.
    Видео там потоковое, подгружается по кускам, но можно отправить и такой запрос, чтобы подгрузилось все сразу.
    Ответ написан
    Комментировать
  • Стоит ли делать регистрацию на Ajax?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Если вы хотя бы в перспекстиве планируете, помимо собственно веб-морды (HTML+CSS+JS), писать еще и мобильный/десктопный клиент, и в нем планируется поддержка регистрации, то лучше сделать AJAX, и не просто AJAX, а удобное стройное REST API с JSON. Оно реально облегчает написание дополнительных клиентов.
    Ведь в клиенте вам придется на какой-нибудь Java (если под Android) делать эти замые запросы к back-end (те, которые делает веб-морда), а отправлять из джавы запрос в формате application/x-www-form-urlencoded (и уж тем более получать ответ в виде HTML, который потом мучительно парсить регулярками или либами типа jsoup) - явно не очень удобно, да и по производительности тоже не очень - HTML всегда избыточен. Лучше, чтобы хотя бы в ответе был JSON, а для этого уже нужен AJAX.
    Ответ написан
    Комментировать