Но Transferwise тоже умеет делать переводы в российские банки. Или он не дает реквизиты США резидентам РФ?
У них по крайней мере курс конвертации выгоднее Upwork.
Пластик + приложуха, куда можно добавить карты других банков :)
Карта-прокси.
Я - резидент ЕС, поэтому карты есть.
Но Transferwise в основном использую именно для вывода в банк.
Transferwise выдает реквизиты на мое имя в банке США.
Туда получаю доллары например от Upwork.
До этого момента все бесплатно.
Делаю конвертацию в свою валюту, это еще одна фишка Transferwise - они делают наценку на курс обмена стабильных валют менее 1% (а многие финансовые организации прячут в курсе 2-5%).
Делаю перевод в свой банк, по ЕС это стоит около половины евро.
Картой пользуюсь редко.
Еще выгоднее, если добавить в схему Revolut - пополнять Revolut с Transferwise (это бесплатно и без конвертаций), конвертировать (курсы Revolut чуть лучше), делать вывод в банк (это бесплатно).
Но я не уверен, что Revolut хорошо отнесется к тому, что буду использовать их как транзит. А Transferwise по сути своей создан для транзита.
Вот это особенно печально, крепко подсел на Curve, оч удобно :)
А Payoneer как фрилансер никогда не использовал, всегда что-то повыгоднее было.
Последние 2-3 года это Transferwise borderless account конечно же.
Только есть одно большое "НО", о котором почему-то все забыли:
Курс надбавок есть у всех банков, но он может отличаться. При этом, берётся она лишь один раз за такую операцию. Если сравнивать нашу надбавку, то она не будет самой высокой.
А вот тут Альфа-Банк врет дважды.
Эта надбавка называется OIF (Optional Issuer Fee).
Во-первых, не у всех банков есть OIF. Как автор поста успешно выяснил, по MasterCard от Тинькофф OIF нулевой (а по Visa 0.5%, хотя банк делает лицо кирпичом, когда об этом заходит речь).
Во-вторых, OIF 4% это реально много, типовой показатель - 2%, некоторые осмеливаются устанавливать 2.5-3. Из-за этого карты Альфа-Банка не пригодны для оплат в "тугриках" (т.е. в прочих валютах помимо основных).
Нет, не перепутал. Но вы перепутали, даже ссылку не на ту функцию дали :) Вот верная: https://www.php.net/manual/en/mysqli.real-escape-string.php
Идеал наверное у каждого свой.
Привлекать полноценную ORM в данном случае это лишнее, можно использовать PDO или какой-нибудь простенький SQL-builder (ну мне они просто нравятся :) ). MySQLi слишком низкоуровневый, пожалуй даже в простых случаях не стоит.
Поэтому наверное самым оптимальным вариантом будет PDO с prepared statements.
https://www.php.net/manual/en/pdo.prepared-statements.php
Хм, ничего подобного я не говорил. И 100% решение обеих проблем есть.
1 - написание безопасного кода. Данные, сохраняемые в базу, нужно экранировать. Именно это я показал в примере функцией mysql_real_escape_string. Это 100% решение вопроса: что бы ни пришло в реферере, оно будет сохранено как текст и никогда не будет интерпретировано как SQL.
2 - использование актуального ПО. PHP5 и функции mysql_* устарели, не поддерживаются разработчиками, содержат неисправленные ошибки и уязвимости. Следует использовать PHP 7.2, 7.3, 7.4 и MySQLi или PDO. Это никак не влияет на необходимость думать о безопасном коде, об экранировании данных и прочее. Просто там иные приемы для этого.
Т.е. использование PHP 7.[2-4] и хотя бы MySQLi на 100% решает обе проблемы. Рассматриваемая строка кода в таком случае должна выглядеть примерно так:
mysqli_query($db, "INSERT INTO `log_config` (`from`) VALUES ('".mysqli_real_escape_string($db, getenv("HTTP_REFERER"))."')");
Это тоже не идеал по современным меркам, но по крайней мере не создает проблем безопасности и ошибок.
"Нормальные сайты" избавляются от уязвимостей в коде и не надеются на сторонние фильтрации, которые кстати никогда не решат вопрос на 100%.
https://ru.stackoverflow.com/questions/524775/%D0%9A%D0%BE%D0%B3%D0%B4%D0%B0-%D0%BD%D1%83%D0%B6%D0%BD%D0%BE-%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85
Конкретно этот код вы предлагаете вставить в index.php сайта, очевидно он будет выполняться для каждого пользователя, непонятно как можно ограничивать к нему доступ.
Если вам не нужны данные о рефере, то конечно можно заменить и на '1'. Но если все-таки нужны, то нужно правильно экранировать сохраняемые в базу данные:
mysql_query("INSERT INTO `log_config` (`from`) VALUES ('".mysql_real_escape_string(getenv("HTTP_REFERER"))."')");
(на самом деле в настоящее время также нельзя использовать функции mysql_* и PHP5 в целом, разработчики прекратили их поддержку, они сами по себе потенциальные уязвимости)
Это самые основы программирования на PHP.
С точки зрения информационной безопасности категорически не стоит использовать эти коды без полного ревью и/или переписывания адекватным программистом.
Автору: ваш магазин еще жив? Надеюсь у вас есть резервные копии всего. Советую полностью закрыть магазин от какого-либо внешнего влияния и заниматься только поиском и устранением уязвимостей.
Почему? А посмотрите что например там есть:
mysql_query("INSERT INTO `log_config` (`from`) VALUES ('".getenv("HTTP_REFERER")."')");
(примитивная SQL-инъекция, позволяет кому угодно в сети получить доступ к вашей базе данных)
Само по себе разливное пиво в принципе много где в мире есть. А вот пивозаправочная станция в каждом жилом доме... Например в той самой Варне в Болгарии ничего подобного нет :) Только в барах.