Inurl php so какой заработок. Начинающему php программисту или как начать зарабатывать. Как php программисту хорошо зарабатывать дома

Именные функции, инструкция def

Функция в python - объект, принимающий аргументы и возвращающий значение. Обычно функция определяется с помощью инструкции def.

Определим простейшую функцию:

Инструкция return говорит, что нужно вернуть значение. В нашем случае функция возвращает сумму x и y.

Теперь мы ее можем вызвать:

>>> add(1, 10)

>>> add("abc", "def")

Функция может быть любой сложности и возвращать любые объекты (списки, кортежи, и даже функции!):

>>> def newfunc(n):

Def myfunc(x):

Return x + n

Return myfunc

>>> new = newfunc(100) # new - это функция

>>> new(200)

Функция может и не заканчиваться инструкцией return, при этом функция вернет значениеNone:

>>> def func():

>>> print(func())

Аргументы функции

Функция может принимать произвольное количество аргументов или не принимать их вовсе. Также распространены функции с произвольным числом аргументов, функции с позиционными и именованными аргументами, обязательными и необязательными.

>>> def func(a, b, c=2): # c - необязательный аргумент

Return a + b + c

>>> func(1, 2) # a = 1, b = 2, c = 2 (по умолчанию)

>>> func(1, 2, 3) # a = 1, b = 2, c = 3

>>> func(a=1, b=3) # a = 1, b = 3, c = 2

>>> func(a=3, c=6) # a = 3, c = 6, b не определен

Traceback (most recent call last):

File "", line 1, in

TypeError: func() takes at least 2 arguments (2 given)

Функция также может принимать переменное количество позиционных аргументов, тогда перед именем ставится *:

>>> def func(*args):

>>> func(1, 2, 3, "abc")

(1, 2, 3, "abc")

>>> func(1)

Как видно из примера, args - это кортежиз всех переданных аргументов функции, и с переменной можно работать также, как и с кортежем.

Функция может принимать и произвольное число именованных аргументов, тогда перед именем ставится **:

>>> def func(**kwargs):

Return kwargs

>>> func(a=1, b=2, c=3)

{"a": 1, "c": 3, "b": 2}

>>> func(a="python")

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

Анонимные функции, инструкция lambda

Анонимные функции могут содержать лишь одно выражение, но и выполняются они быстрее. Анонимные функции создаются с помощью инструкции lambda. Кроме этого, их не обязательно присваивать переменной, как делали мы инструкцией def func():

>>> func = lambda x, y: x + y

>>> func(1, 2)

>>> func("a", "b")

>>> (lambda x, y: x + y)(1, 2)

>>> (lambda x, y: x + y)("a", "b")

lambda функции, в отличие от обычной, не требуется инструкция return, а в остальном, ведет себя точно так же:

>>> func = lambda *args: args

>>> func(1, 2, 3, 4)

19. Понятие рекурсии, реализация в языке Python

В программировании рекурсия - вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная или косвенная рекурсия), например, функция вызывает функцию, а функция- функцию. Количество вложенных вызовов функции или процедуры называется глубиной рекурсии.

Проще сказать нельзя. Про рекурсии есть известная поговорка:

Чтобы понять рекурсию, нужно сперва понять рекурсию

Итак, питон позволяет работать с рекурсиями легко и непринужденно. Самый первый пример рекурсии, с которой сталкиваются большинство программистов - это нахождение факториала. Код может быть таким:

def factorial(n):

if n <= 1: return 1

else: return n * factorial(n - 1)

Как видно, мы записали инструкцию if else слегка необычным для питона способом, но это позволяется в данном случаее, ввиду того, что читабельность здесь не ухудшается, но не следует злоупотреблять таким стилем. И вообще, PEP8всех рассудит. :)

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

    Существует ограничение на глубину рекурсии. По умолчанию оно равно 1000.

    Для того, чтобы изменить это ограничение нужно вызвать функцию sys.setrecursionlimit(), а для просмотра текущего лимита sys.getrecursionlimit().

    Не смотря на это - существует ограничение размером стека, который устанавливается операционной системой.

    Рекурсия в Python не может использоваться в функциях-генераторах и сопрограммах. Однако, можно это поведение исправить, но лучше не стоит.

    И последнее - применение декораторов к рекурсивным функциям может приводить к неожиданным результатам, поэтому будьте очень осторожны декорируя рекурсивные функции.

Также, всегда следует определять точки выхода из рекурсивных функций. Это как с циклами - бесконечный цикл может здорово «просадить» вашу операционную систему. И наконец, где лучше применять рекурсию, а где лучше воздержаться и обойтись, например циклами. Конечно, здесь многое зависит от задачи, но всегда следует помнить, что рекурсия в разы медленнее цикла. Так уж устроен питон, что вызов функции дорого вам обходится:) Вообще, в циклах не стоит вызывать функции, а уж рекурсивные функции и подавно.

Рекурсия хорошо подходит там, где производительность не слишком важна, а важнее читабельность и поддержка кода. К примеру, напишите две функции для обхода дерева каталогов, одну рекурсивную, другую с циклами.

27 января 2009 в 14:49

Основы Python - кратко. Часть 6. Расширенное определение функций.

  • Python

В этом разделе мы поговорим более подробно про определение функций, и раскроем некоторые Python-специфичные особенности данного процесса. Так как информации много, то постараюсь излагать все достаточно кратко.

Параметры по-умолчанию

Для всех параметров функций можно указывать значения по-умолчанию, это дает возможность вызвать функцию с меньшим числом параметров. Например, у нас есть функция для авторизации пользователя на сайте:
def login(username="anonymous", password=None): """Тут какие-то действия""" pass # вызвать эу функцию мы можем одним # из нижеприведенных способов login("root", "ujdyzysqgfhjkm") login("guest") login() # мы можем указать какой из параметров мы передаем, # указав его имя в явном виде login(password="[email protected]")

В общем, те параметры что есть – сопоставляются слева направо (если имя не указано конкретно), остальные заменяются значениями по-умолчанию (если они конечно заданы).
Важной особенностью в данном случае является то, что значения по-умолчанию вычисляются и ассоциируются только один раз – в момент объявления функции. Все вытекающие из этого недостатки наглядно продемонстрирует пример:
def_val = 2 def our_func(val = def_val): print val our_func(4) # выведет 4 our_func() # выведет 2 – значение по-умолчанию def_val = 12 our_func() # все равно 2, так как def_val было равно 2 на момент объявления
Более неприятное следствие из этого. Допустим, мы хотим объявить функцию, принимающую на вход список, что-то с ним делающую и печатающую его. Причем если список не задан, то по умолчанию он равен пустому.
Попытка сделать это «в лоб» будет работать не совсем так как хотелось бы:
In : def lister(lst = ): ...: lst.append() ...: print lst ...: In : lister() [] In : lister() [, ] In : lister() [, , ]
Собственно, проблема тут в том, что переменная lst будет ассоциирована с пустым списком один раз, и между вызовами будет сохранять свое значение.
В данном случае, правильно будет описать нашу функцию следующим образом (как рекомендуют все учебники):
In : def lister2(lst=None): ...: if lst is None: ...: lst= ...: lst.append() ...: print lst ...: In : lister2() [] In : lister2() [] In : lister2() ]
Данная функция как раз будет работать так как хотелось бы изначально.

Position и keyword аргументы.

Зачастую случается необходимость сделать функцию, которая обрабатывает неопределенное число параметров. Например функция расчета суммы элементов списка.
Мы конечно можем передавать все аргументы как один параметр типа list, но это выглядит некрасиво. Потому в Пайтоне был придуман специальный механизм, называемый position-arguments. Вот пример, демонстрирующий использование.
In : def list_sum(*args): ...: smm = 0 ...: for arg in args: ...: smm += arg ...: return smm ...: In : list_sum(1, 2, 3) Out: 6 In : list_sum(1) Out: 1 In : list_sum() Out: 0
В данном случае, все наши параметры «упаковываются» в список args в соответствии с их «порядковым номером» при передаче.
Возможна и обратная операция, допустим у нас есть список значений, и мы хотим передать их как список параметров функции:
In : lst = In : list(range(*lst)) Out:
В этом примере список lst был «распакован» и подставлен на место параметров функции range, то есть вызов был аналогичен:
In : list(range(1, 10, 2)) Out:
Кроме position, можно использовать и т.н. keyword аргументы. Они отличаются тем что для них надо явно задавать имя. Вот пример – функция, генерирующая insert выражение для базы данных (NB: максимальная оптимизация не ставилась в данном случае за самоцель).
def enquote1(in_str): """Quotes input string with single-quote""" in_str = in_str.replace(""", r"\"") return ""%s"" % in_str def enquote2(in_str): """Quotes input string with double-quote""" in_str = in_str.replace(""", r"\"") return ""%s"" % in_str def gen_insert(table, **kwargs): """Generates DB insert statement""" cols = vals = for col, val in kwargs.items(): cols.append(enquote2(col)) vals.append(enquote1(str(val))) cols = ", ".join(cols) vals = ", ".join(vals) return "INSERT INTO "%s"(%s) VALUES(%s);" % (table, cols, vals) print gen_insert("workers", name="John", age=21, salary=1500.0) params = {"name": "Mary", "age": 19, "salary": 1200.0} print gen_insert("workers", **params)
На выходе мы получим то что и ожидалось:
INSERT INTO "workers"("salary", "age", "name") VALUES("1500.0", "21", "John"); INSERT INTO "workers"("salary", "age", "name") VALUES("1200.0", "19", "Mary");
Обратите внимание на второй вызов функции gen_insert – так мы можем вызвать функцию имея только словарь параметров. Это применимо к любой функции. Так же возможны различные сочетания positional и keyword аргументов.

В качестве завершающего примера рассмотрим такую функцию:
def logging(func, *args, **kwargs): res = func(*args, **kwargs) print "calling %s, returned %r" % (func.__name__, res) return res def double(x): "Doubles a number" return 2*x print logging(double, 155)
Это – простейший способ отладки функции, мы как бы «оборачиваем» вызов одной функции другой что бы вывести промежуточную информацию.
Забегая вперед – скажу что в Пайтоне есть очень мощный инструмент для более удобного использования подобного рода «оборачивающих» функций, называемый декораторами, но про это позже.

На этом на сегодня все. Продолжение следует (либо мое, либо уважаемого

Хочу разместить в помощь начинающим php программистам небольшую памятку. Что и как нужно делать чтобы изучить php и начать зарабатывать на своем ремесле. Если читающие хотят дать свой совет — прошу в камменты.

* Начнем с одного полезного тезиса — изучить php можно не тратя абсолютно никаких денег. Все необходимые материалы по php можно найти в сети, все ответы на вопросы можно найти на форумах… не нужно ходить на курсы, не нужно покупать книги (вообще книги стоит покупать если, лень искать материал в интернете) , не нужно тратить никаких денег.
* Изобретайте велосипеды. Всегда пишите код самостоятельно — это поможет вам в дальнейшем. Если вам нужна гостевая книга — напишите ее, не используйте готовые варианты, даже если вы просмотрите и поймете ее код, это не заменит самого программирования, поиска багов, отладки, решения проблем, связанных с написанием. В последствии, когда вы станете профессионалом, можно и даже нужно будет использовать сторонний код, но на этапе изучения это окажет вам плохую услугу. Можно пользоваться примерами и использовать чужой код как способ решить задачу или найти правильный алгоритм.
* Создавайте “домашние странички”. Это хорошая тренировка. Создание и развитие своей “домашней страницы” заставит вас постоянно совершенствовать свои умения, искать пути для улучшения сайта, соревноваться с другими обладателями “домашних страниц”.
* Объединяйтесь в группы. Попробуйте создать какой-нибудь проект не один, а объединившись с другими программистами. Уменее работать в команде, понимать чужой код и правильно общаться с коллективом поможет вам найти хорошую работу. Многие фирмы ставят одним из главных требований при трудоустройстве — уменее работать в команде.
* Не бросайте проект на пол пути. Старайтесь всегда доводить начатый проект до конца. Даже если надобность в нем отпала. Чем больше у вас законченных проектов, тем больший список работ вы можете написать в своем резюме. А ведь именно на готовые и законченные вещи работодатель смотрит в первую очередь.
* Беритесь за “копеечную” работу. Если ваш послужной список не богат, не стоит отказываться от малооплачиваемой работы. Приведу пример из жизни, когда я только начинал программировать за деньги я вышел на работу в он-лайн игре. Предлагали в общем копейки — 2 000 в месяц. Но я взялся и по мере того как работал все больше изучал особенности веб программирования. Через семь месяцев моя зарплата была 10 000 рублей. А сколько опыта я приобрел — просто не счесть.
* Создавайте большие проекты. Наличие в вашем послужном списке больших проектов — огромный вам плюс.
* Не задерживайтесь на работе, если вам стало не интересно. Если ваша работа превратилась в рутину и не приносит ничего нового, никаких знаний — бросайте ее. Это путь в никуда. Всегда цепляйтесь только за интересные проекты.
* Повышайте свои “общие” знания. Не стоит зацикливаться только на php, сейчас работодатель требует от программиста не только создания кода, но и уменее верстать страницы, настраивать сервер, составлять документацию, работать с javascript и многое другое. По большому счету сейчас никому не нужны просто веб программисты, а нужны веб мастера.
* Изучайте новые технологии. Новые технологии, такие как Ajax, всегда будут вашим козырем. Они производят на работодателя магическое действие.

Пожалуй на сегодня хватит. Есть еще много советов, но я дам их в других постах, если будет спрос 🙂

Хорошо Плохо

    Итак, вот оно время торжественного открытия, ваш шедевр уже занимает почетное место на бескрайних просторах всемирной сети. Все превосходно выглядит, смотрится…

Запустите скаченный файл двойным кликом (нужно иметь виртуальную машину ).

3. Анонимность при проверке сайта на SQL-инъекции

Настройка Tor и Privoxy в Kali Linux

[Раздел в разработке]

Настройка Tor и Privoxy в Windows

[Раздел в разработке]

Настройки работы через прокси в jSQL Injection

[Раздел в разработке]

4. Проверка сайта на SQL-инъекции с jSQL Injection

Работа с программой крайне проста. Достаточно ввести адрес сайта и нажать ENTER.

На следующем скриншоте видно, что сайт уязвим сразу к трём видам SQL-инъекций (информация о них указана в правом нижнем углу). Кликая на названия инъекций можно переключить используемый метод:

Также нам уже выведены имеющиеся базы данных.

Можно посмотреть содержимое каждой таблицы:

Обычно, самым интересным в таблицах являются учётные данные администратора.

Если вам повезло и вы нашли данные администратора — то радоваться рано. Нужно ещё найти админку, куда эти данные вводить.

5. Поиск админок с jSQL Injection

Для этого переходите на следующую вкладку. Здесь нас встречает список возможных адресов. Можете выбрать одну или несколько страниц для проверки:

Удобство заключается в том, что не нужно использовать другие программы.

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

8743b52063cd84097a65d1633f5c74f5

Это хеш. Расшифровать его можно брутфорсом. И… jSQL Injection имеет встроенный брутфорсер.

6. Брутфорсинг хешей с помощью jSQL Injection

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

Это не самый оптимальный вариант. Для того, чтобы стать гуру в расшифровке хешей, рекомендуется Книга « » на русском языке.

Но, конечно, когда под рукой нет другой программы или нет времени на изучение, jSQL Injection со встроенной функцией брут-форса придётся очень кстати.

Присутствуют настройки: можно задать какие символы входят в пароль, диапазон длины пароля.

7. Операции с файлами после обнаружения SQL-инъекций

Кроме операций с базами данных — их чтение и модификация, в случае обнаружения SQL-инъекций возможно выполнение следующих файловых операций:

  • чтение файлов на сервере
  • выгрузка новых файлов на сервер
  • выгрузка шеллов на сервер

И всё это реализовано в jSQL Injection!

Есть ограничения — у SQL-сервера должны быть файловые привилегии. У разумных системных администраторов они отключены и доступа к файловой системе получить не удастся.

Наличие файловых привилегий достаточно просто проверить. Перейдите в одну из вкладок (чтение файлов, создание шелла, закачка нового файла) и попытайтесь выполнить одну из указанных операций.

Ещё очень важное замечание — нам нужно знать точный абсолютный путь до файла с которым мы будем работать — иначе ничего не получится.

Посмотрите на следующий скриншот:

На любую попытку операции с файлом нам отвечают: No FILE privilege (нет файловых привелегий). И ничего здесь поделать нельзя.

Если вместо этого у вас другая ошибка:

Problem writing into [название_каталога]

Это означает, что вы неправильно указали абсолютный путь, в который нужно записывать файл.

Для того, чтобы предположить абсолютный путь, нужно, как минимум, знать операционную систему на которой работает сервер. Для этого переключитесь к вкладке Network.

Такая запись (строка Win64 ) даёт основание нам предположить, что мы имеем дело с ОС Windows:

Keep-Alive: timeout=5, max=99 Server: Apache/2.4.17 (Win64) PHP/7.0.0RC6 Connection: Keep-Alive Method: HTTP/1.1 200 OK Content-Length: 353 Date: Fri, 11 Dec 2015 11:48:31 GMT X-Powered-By: PHP/7.0.0RC6 Content-Type: text/html; charset=UTF-8

Здесь у нас какой-то из Unix (*BSD, Linux):

Transfer-Encoding: chunked Date: Fri, 11 Dec 2015 11:57:02 GMT Method: HTTP/1.1 200 OK Keep-Alive: timeout=3, max=100 Connection: keep-alive Content-Type: text/html X-Powered-By: PHP/5.3.29 Server: Apache/2.2.31 (Unix)

А здесь у нас CentOS:

Method: HTTP/1.1 200 OK Expires: Thu, 19 Nov 1981 08:52:00 GMT Set-Cookie: PHPSESSID=9p60gtunrv7g41iurr814h9rd0; path=/ Connection: keep-alive X-Cache-Lookup: MISS from t1.hoster.ru:6666 Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.4.37 X-Cache: MISS from t1.hoster.ru Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Date: Fri, 11 Dec 2015 12:08:54 GMT Transfer-Encoding: chunked Content-Type: text/html; charset=WINDOWS-1251

В Windows типичной папкой для сайтов является C:\Server\data\htdocs\ . Но, на самом деле, если кто-то «додумался» делать сервер на Windows, то, весьма вероятно, этот человек ничего не слышал о привилегиях. Поэтому начинать попытки стоит прямо с каталога C:/Windows/:

Как видим, всё прошло прекрасно с первого раза.

Но вот сами шеллы jSQL Injection у меня вызывают сомнения. Если есть файловые привилегии, то вы вполне можете закачать что-нибудь с веб-интерфейсом.

8. Массовая проверка сайтов на SQL-инъекции

И даже эта функция есть у jSQL Injection. Всё предельно просто — загружаете список сайтов (можно импортировать из файла), выбираете те, которые хотите проверить и нажимаете соответствующую кнопку для начала операции.

Вывод по jSQL Injection

jSQL Injection хороший, мощный инструмент для поиска и последующего использования найденных на сайтах SQL-инъекций. Его несомненные плюсы: простота использования, встроенные сопутствующие функции. jSQL Injection может стать лучшим другом новичка при анализе веб-сайтов.

Из недостатков я бы отметил невозможность редактирования баз данных (по крайней мере я этого функционала не нашёл). Как и у всех инструментов с графическим интерфейсом, к недостаткам этой программы можно приписать невозможность использования в скриптах. Тем не менее некоторая автоматизация возможна и в этой программе — благодаря встроенной функции массовой проверки сайтов.

Программой jSQL Injection пользоваться значительно удобнее чем sqlmap . Но sqlmap поддерживает больше видов SQL-инъекций, имеет опции для работы с файловыми файерволами и некоторые другие функции.

Итог: jSQL Injection — лучший друг начинающего хакера.

Справку по данной программе в Энциклопедии Kali Linux вы найдёте на этой странице: http://kali.tools/?p=706

Сегодня я вам расскажу и покажу как можно без особых навыков в краже и усилий получить ваш первый заработок. Как известно в Штатах очень распространено такое направление как eGift Certificate – по простому это подарочная карта, которую вы приобретаете в магазине и отправляете на почту какому либо человеку, которого хотите поздравить. Соответственно он заходит с этой картой на сайт, делает покупки и при оплате указывает код этого сертификата. Вот и всё. Всё очень просто и именно этим мы и будем заниматься.

Итак, нам понадобится:

1. Почта (2 шт.)

Я бы советовал делать почты на яху, так как на гмаил в любой момент могу затребовать верификацию к почте, и вам необходимо будет принять смс. Это не всегда удобно. Так что регеам две почты на Яху с абсолютно рандомным именем, если не хватает фантазии находим любой генератор и вперёд.

2. Нам потребуется Карта (СС в дальнейшем)

Я думаю вы знаете где их достать. Покупаем карту по такому критерию. Бренд = VISA, Тип = Credit, Уровень = Platinum, Валид = 64 – 100. Если берёте на байпасе, то чекните её на валид, если карта живая, то обязательно подождите минут 15 перед вбивом, пусть отдохнёт. По уровню берите лучше кредитки, там как правило баланс есть нежели на дебетовках.

3. Нам нужен посред. А точнее адрес в США, куда мы будем отправлять товар купленный в магазине.

По поводу регистрации на посреде. Покупаете скан у селлеров. Из сети лучше не брать, так как посред в любой момент можеть запросить ваши доки, их конечно можно отрисовать, но зачем переплачивать. Так что берём комплект доков у селлера и регаем по этим данным акк на посредние. Обязательно проверьте валидность паспорта на сайте фмс, так как при отправке потом могут возникнуть проблемы.

4. Также нам нужен, туннель,носок, впн, дедик. У кого на сколько хватит фантазии. Ничего под зип карты не нужно подбирать, самое главное условие чтобы он был ЧИСТЫЙ. Идём допустим на ipsocks и берём какой нибудь туннель копируем ip и идём на сайт ipchecking.com смотрим его на чистоту, если всё хорошо, одеваем его и идём на ip-score.com проверяем туннель на наличие блеков, если всё чисто подкручиваем времечко на системе, замыкаем Web RTC и вперёд.

5. И самое главное, нам нужен магазин, куда мы будем вбивать. Сейчас расскажу как их искать без всяких парсеров и прочей лабуды.

Накидываем айпи юсы, переходим на гугл и в поисковике вставляем эту золотую фразу inurl:/giftcertificates.php и всё. Перед ней пишите то что вас интересует и вперёд. (wear/nike/adidas) вообщем насколько хватит фантазии. В настройках поиска также можете задать домен сайта, язык сайта, страну магазина, чтобы не искать лишние шопы.

Гугл нам выдаст то что мы ищем, а именно те шопы, которые сделаны на движке bigcommerce. С ними мы и будем работать.

Сейчас расскажу как подбирать шопы .

Самое главное что нас интересует в первую очередь это кнопка «Gift Certificate».

На примере данного шопа. Чаще всего она сверху, иногда бывает что внизу, но она должна быть. Просто некоторые магазины их просто убирают с сайта. Также можете посмотреть на «Алексу»

Это так называем рейтинг шопа, чем Алекса ниже тем шоп популярнее, так что не нужно лезть в топовые шопы, я делал вбивы в магазины с Алексой в 22млн. и всё отлично, а также заходили ордера в магазы где алекса была 300к. так что лучше набить руку на менее крупных шопах. SEO quake это дополнение для браузера, которое покажет вам эту самую алексу. И обязательно смотрим на мерч шопа, я думаю вы знаете что это. Если видим мерч палки или при оплате вас перекидывает на него, то не тратим время, закрываем шоп и идём в другой. Их немного, но встречаются.


Выглядит это примерно так.

Так вроде совсем необходимым разобрались, теперь переходим непосредственно к работе.

Находим шоп в которой будем вбивать и заходим в него. Адрес в поисковик вставляйте и переходите через поиск в шоп. Бродить по нему не надо, пару минут повисели в шопе и сразу жмём на Gift Certificate. Сейчас расскажу как это заполнять.


Теперь по порядку:

Recipients name – это имя получателя карты, т.е. то имя на которое вы потом будете отоваривать карту и соответственно отправлять на посредника. Так что тут указываем имя на которое регестрировали акк на посреде. Почта соответственно тоже получателя. На неё придёт письмо с гифтом и с неё потом будете отоваривать карту, так что доступ не теряйте.

Your name – тут соответственно имя и почта отправителя. Имя пишем с карты, а почту указывает ту, которую вы сами регестрировали.

Amount – это номинал сертификата. Тут в первую очередь смотрим на товар, и его стоимость, и его количество на сайте. Товара должно быть много. Если средний ценник то смело ставьте сумму в 300 баксов. Если ценник повыше то можно поставить и 500 и 600 и 800, но опять же не забывайте что на карте может не хватить баланса. Я по стандарту ставлю 300-600 и ордера заходят как по маслу.

Тему карты всегда ставлю день рождение и в сообщение Хеппи Бездэей по стандарту.

Так, тут всё. Жмём добавить в корзину и идём дальше.


Здесь жмём Proceed to checkout, на палку ни в коем случае не нажимаем. Дальше.


Регистрироваться не нужно, жмём на гостя и переходим дальше.


Тут всё предельно просто, все данные кроме почты берём с карты которую купили. Телефон можно поменять где нибудь одну цифру. Далее нажимаем Bill to this address.


Тут ничего не трогаем идём далее.

Если Вас перекидывает на палку как на скрине ниже, то как я и говорил уходим с этого магаза.



Тут все данные заполняем с карточки и нажимаем оплатить. Если всё хорошо и карта живая будет написано за покупку и номер ордера, чем номер больше тем лучше, это показывает сколько заказов было в этом магазине. Если всё прошло успешно, идём на почту получателя и там уже должно лежать письмо с долгожданной картой. В этом вся и прелесть сайтов на движке бигкоммерц, что гифты падают инстантом. За пару дней я делаю гифтов где то на 3к$ без проблем и сумму легко можно увеличить. Из 10 заказов, гифты падают в 80% случаев. Гифт выглядит примерно так. Тот код что сверху, потом вы его будете вставлять при отоваривании. Так что не теряйте.


Самое сложно позади теперь эту карту нужно отоварить .

Отоваривать нужно не сразу, и обязательно по времени ЮСЫ. Т.е. если с утра вы получили гифт, то часиков в 6-7 по мск можно смело идти отоварить его. Тут опять же нам нужен будет чистый туннель и в идеале если он будет под зип посреда, т..е. адреса на который будет отправляться товар. Если нет туннелей под зип берём под город, если нет, то берём под штат, но обязательно чистый. Больше нам ничего не нужно. Идём в шоп.

Я не советую брать несколько вещей одних позиций, например 5 пар кроссовок или 3 футболки, берите всего по немногу. Про электронику можно забыть, её высылают крайне редко. Всё остальное можно брать.

Ходите по магазину, выбираете товар и кидаете его в корзину, после этого идём оформлять покупку. Оформляемся также через гостя, регистрироваться не нужно.


Тут все данные заполняем с данных адреса которого вам дали на посреднике.

Номер телефона пишете произвольный, только код города подберите под город посредника. В адрес номер 2 вставляете номер вашей ячейки на посреднике, туда вам придёт товар и ставим галочку, что вы хотите отправить посылку на этот адрес. Идём далее.


Тут выбираем способ доставки. Я как правило ставлю оставляю немного денег и выбираю самую быструю доставку, чтобы это всё как можно быстрее приехало на посредника. Далее.


Здесь мы только вставляем код, который был на подарочной карте, и сумма обнуляется. Жмём оплатить и всё. Вы стали счастливым обладателем того что было у вас в корзине.

Высылают как правило 6-8 шопов из 10. Отправка происходит у всех по-разному, кто-то может на след. День отправить, а кто-то через 2-3 дня. Если магазин затягивает с отправкой, не стесняйтесь пишите им. Указывайте номер ордера и спрашивайте какого такого, они не отправляют заказ. Это помогает. Если шоп вам всё выслал, через какое то время вы можете вернуться ещё раз, только адрес нужно указать другой и почты соответственно тоже. Чуть не забыл. Работать лучше с воскресенья по среду-четверг. На выходные лучше не вбивать. Ну я думаю вы сами разберётесь со временем что к чему.