Skip to content

Instantly share code, notes, and snippets.

@Lexx918
Lexx918 / so-1081169.txt
Created February 14, 2020 17:32
SO-1081169
Материалы для поднятия макета по вопросу
https://ru.stackoverflow.com/questions/1081169/sql-инъекция-формы-на-сайте/
Создаём папку с проектом, и файлами в ней:
so
-nginx
--default.conf
-php
--Dockerfile
@Lexx918
Lexx918 / so-831997.php
Last active September 28, 2018 10:29
so-831997.php
<?php
if (isset($_SESSION['id'])) {
header('Location: ../');
exit();
}
$message = '';
if (isset($_GET['data']) && isset($_GET['a'])) {
$id = check($_GET['a'], "int");
@Lexx918
Lexx918 / image-pattern-matching.go
Last active January 9, 2018 13:54
image pattern matching, MAD
package main
import (
"image/png"
"os"
"fmt"
"time"
"net/http"
"log"
"io"
@Lexx918
Lexx918 / image-pattern-matching.php
Created November 3, 2017 09:24
image pattern matching, MAD
<?php
class ImgCompare
{
/** @var string $bigSrc */
protected $bigSrc;
/** @var array $haystack */
protected $haystack = [];
/** @var array $needle */
@Lexx918
Lexx918 / js.zipper.php
Last active June 9, 2019 07:08
js.zipper.php
<?php
$str = trim(file_get_contents(__DIR__.'/tetris.min.js'));
$str = str_replace('"', "'", $str);
// $str = str_replace('function', '', $str);
$origLen = strlen($str);
echo "orig len: {$origLen}\n";
$dictionary = str_split(
@Lexx918
Lexx918 / php-proxy.php
Created December 6, 2016 07:04
PHP Proxy
<?php
//$request = "CONNECT foo HTTP/1.1
//bar
//Host: foo1
//
//";
//$pattern = '/(?P<url>(GET|PUT|DELETE|POST|CONNECT)\s+[^\s]+)\s+HTTP\/[0-9.]+.+?Host:\s+(?P<host>[^:\s]+)(:(?P<port>\d+))?\s+/s';
//if (preg_match($pattern, $request, $matches) === 1) {
// var_dump($matches);
@Lexx918
Lexx918 / find-sub-image.php
Created November 22, 2016 21:13
Find small sub-image on big image
<?php
$size = 'big';
$cut = __DIR__ . "/{$size}/2.png";
list($cutWidth, $cutHeight) = getimagesize($cut);
$cutImg = imagecreatefrompng($cut);
$cutColorList = [];
for ($y = 0; $y < $cutHeight; $y++) {
for ($x = 0; $x < $cutWidth; $x++) {
$color = imagecolorat($cutImg, $x, $y);
@Lexx918
Lexx918 / emoji.php
Last active November 26, 2016 15:58
Emoji+
<?php
// http://unicode.org/emoji/charts-beta/full-emoji-list.html
$src = __DIR__ . "/emoji.html";
$dest = __DIR__ . "/emoji+.html";
$f = fopen($dest, "w");
fwrite($f, "<html><head></head><body><table>");
fwrite($f, "<tr>
<th>#</th>
@Lexx918
Lexx918 / boxes.php
Last active July 1, 2016 11:55
Распределение камней по карманам
<?php
/*
* Есть n камней. 0 < n < 21. Их вес колеблется от 1 до 100 000.
* Нужно разложить их в две сумки, что бы разница веса между сумками была минимальная.
*/
$rocksCount = 20;
$rocks = [];
for ($i = 0; $i < $rocksCount; $i++) {
@Lexx918
Lexx918 / combinator-iterator.php
Created July 1, 2016 11:26
Перебор комбинаций алгоритмом Нарайаны
/**
* Алгоритм Нарайаны
* https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9D%D0%B0%D1%80%D0%B0%D0%B9%D0%B0%D0%BD%D1%8B
* @param array $arr
* @return array
*/
function getNext(array $arr)
{
// step 1
// [4,4,6,5] -> j=1 (4 > 6)