<?php | |
// secure hashing of passwords using bcrypt, needs PHP 5.3+ | |
// see http://codahale.com/how-to-safely-store-a-password/ | |
// salt for bcrypt needs to be 22 base64 characters (but just [./0-9A-Za-z]), see http://php.net/crypt | |
$salt = substr(strtr(base64_encode(openssl_random_pseudo_bytes(22)), '+', '.'), 0, 22); | |
// 2y is the bcrypt algorithm selector, see http://php.net/crypt | |
// 12 is the workload factor (around 300ms on my Core i7 machine), see http://php.net/crypt |
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Text; | |
using System.Threading.Tasks; | |
using System.Net.Http; | |
using System.Net; | |
namespace HTTP_Test |
# This gist illustrates how to create and execute a payment with Paypal using their REST API. | |
# For additional informations, check the documentation: https://developer.paypal.com/docs/api/ | |
# Note 1: I assume that you have already created a developer account for Paypal and an application. | |
# To test that your code is working, use the sandbox accounts. | |
# https://developer.paypal.com/webapps/developer/applications/accounts | |
# Note 2: we will not use the Paypal REST API SDK package for Node.js | |
# https://github.com/paypal/rest-api-sdk-nodejs |
"""Flask Blueprint sublcass that overrides `route`. | |
Automatically adds rules for endpoints with and without trailing slash. | |
""" | |
from flask import Blueprint, Flask | |
class BaseBlueprint(Blueprint): | |
"""The Flask Blueprint subclass.""" |
<html> | |
<!-- See also: http://kempe.net/blog/2014/06/14/leaflet-pan-zoom-image.html --> | |
<head> | |
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css"></script> | |
<style> | |
#image-map { | |
width: 100%; | |
height: 300px; | |
border: 1px solid #ccc; | |
margin-bottom: 10px; |
ℹ️ Please note this research is from 2016 when Opera has first added their browser "VPN", even before the "Chinese deal" was closed. They have since introduced some real VPN apps but this below is not about them.
🕵️ Some folks also like to use this article to show a proof that the Opera browser is a spyware or that Opera sells all your data to 3rd parties or something like that. This article here doesn't say anything like that.
When setting up (that's immediately when user enables it in settings) Opera VPN sends few API requests to https://api.surfeasy.com to obtain credentials and proxy IPs, see below, also see The Oprah Proxy.
The browser then talks to a proxy de0.opera-proxy.net
(when VPN location is set to Germany), it's IP address can only be resolved from within Opera when VPN is on, it's 185.108.219.42
(or similar, see below). It's an HTTP/S proxy which requires auth.
from collections import OrderedDict | |
import datetime | |
from typing import Iterator, List, Sized, Union | |
import numpy as np | |
import pandas as pd | |
from psycopg2.extensions import QuotedString | |
from sqlalchemy import and_, exists, MetaData, Table, Column as SAColumn | |
import logging |
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="UTF-8" /> | |
<title>Add React in One Minute</title> | |
</head> | |
<body> | |
<h2>Add React in One Minute</h2> | |
<p>This page demonstrates using React with no build tooling.</p> |