Blame


1 84c190b6 2021-12-17 jrmu <?php
2 84c190b6 2021-12-17 jrmu
3 84c190b6 2021-12-17 jrmu $hash = explode("/", $_SERVER["REQUEST_URI"])[1];
4 84c190b6 2021-12-17 jrmu $fpr{"hash"} = $hash;
5 84c190b6 2021-12-17 jrmu $fpr{"remoteaddr"} = $_SERVER['REMOTE_ADDR'];
6 84c190b6 2021-12-17 jrmu $fpr{"httpxforwarded"} = $_SERVER['HTTP_X_FORWARDED_FOR'];
7 84c190b6 2021-12-17 jrmu $fpr{"time"} = date("Y-m-d H:i:s");
8 84c190b6 2021-12-17 jrmu foreach (getallheaders() as $key => $value) {
9 84c190b6 2021-12-17 jrmu if ($key == "User-Agent") {
10 84c190b6 2021-12-17 jrmu $fpr{"useragent"} = $value;
11 84c190b6 2021-12-17 jrmu } elseif ($key == "Upgrade-Insecure-Requests") {
12 84c190b6 2021-12-17 jrmu $fpr{"upgradeinsecure"} = $value;
13 84c190b6 2021-12-17 jrmu } elseif ($key == "Host") {
14 84c190b6 2021-12-17 jrmu $fpr{"host"} = $value;
15 84c190b6 2021-12-17 jrmu } elseif ($key == "Dnt") {
16 84c190b6 2021-12-17 jrmu $fpr{"dnt"} = $value;
17 84c190b6 2021-12-17 jrmu } elseif ($key == "Connection") {
18 84c190b6 2021-12-17 jrmu $fpr{"connection"} = $value;
19 84c190b6 2021-12-17 jrmu } elseif ($key == "Cache-Control") {
20 84c190b6 2021-12-17 jrmu $fpr{"cachecontrol"} = $value;
21 84c190b6 2021-12-17 jrmu } elseif ($key == "Accept-Language") {
22 84c190b6 2021-12-17 jrmu $fpr{"acceptlanguage"} = $value;
23 84c190b6 2021-12-17 jrmu } elseif ($key == "Accept-Encoding") {
24 84c190b6 2021-12-17 jrmu $fpr{"acceptencoding"} = $value;
25 84c190b6 2021-12-17 jrmu } elseif ($key == "Accept") {
26 84c190b6 2021-12-17 jrmu $fpr{"accept"} = $value;
27 84c190b6 2021-12-17 jrmu }
28 84c190b6 2021-12-17 jrmu }
29 84c190b6 2021-12-17 jrmu
30 84c190b6 2021-12-17 jrmu class wwwdb extends SQLite3 {
31 84c190b6 2021-12-17 jrmu function __construct() {
32 84c190b6 2021-12-17 jrmu $this->open('/botnow/botnow.db');
33 84c190b6 2021-12-17 jrmu }
34 84c190b6 2021-12-17 jrmu }
35 84c190b6 2021-12-17 jrmu $wwwdb = new wwwdb();
36 84c190b6 2021-12-17 jrmu if(!$wwwdb) {
37 84c190b6 2021-12-17 jrmu echo $wwwdb->lastErrorMsg();
38 84c190b6 2021-12-17 jrmu } else {
39 84c190b6 2021-12-17 jrmu foreach ($fpr as $key => $value) {
40 84c190b6 2021-12-17 jrmu $keys[] = $key;
41 84c190b6 2021-12-17 jrmu $values[] = $value;
42 84c190b6 2021-12-17 jrmu }
43 84c190b6 2021-12-17 jrmu $keystr = '"'.implode('","', $keys).'"';
44 84c190b6 2021-12-17 jrmu $valstr = '"'.implode('","', $values).'"';
45 84c190b6 2021-12-17 jrmu $sql =<<<EOF
46 84c190b6 2021-12-17 jrmu INSERT INTO www ($keystr)
47 84c190b6 2021-12-17 jrmu VALUES ($valstr);
48 84c190b6 2021-12-17 jrmu EOF;
49 84c190b6 2021-12-17 jrmu
50 84c190b6 2021-12-17 jrmu if (!$wwwdb->exec($sql)) {
51 84c190b6 2021-12-17 jrmu echo $db->lastErrorMsg();
52 84c190b6 2021-12-17 jrmu return;
53 84c190b6 2021-12-17 jrmu }
54 84c190b6 2021-12-17 jrmu
55 84c190b6 2021-12-17 jrmu $sql =<<<EOF
56 84c190b6 2021-12-17 jrmu SELECT * from bnc;
57 84c190b6 2021-12-17 jrmu EOF;
58 84c190b6 2021-12-17 jrmu $ret = $wwwdb->query($sql);
59 84c190b6 2021-12-17 jrmu while($row = $ret->fetchArray(SQLITE3_ASSOC)) {
60 84c190b6 2021-12-17 jrmu // echo "hash: $hash, row['hashid']: ".$row['hashid']."<br>\n";
61 84c190b6 2021-12-17 jrmu if ($hash == $row['hashid']) {
62 84c190b6 2021-12-17 jrmu $captcha = $row['captcha'];
63 84c190b6 2021-12-17 jrmu // echo $captcha;
64 84c190b6 2021-12-17 jrmu }
65 84c190b6 2021-12-17 jrmu }
66 84c190b6 2021-12-17 jrmu $wwwdb->close();
67 84c190b6 2021-12-17 jrmu // echo "Records created successfully\n";
68 84c190b6 2021-12-17 jrmu }
69 84c190b6 2021-12-17 jrmu session_start();
70 84c190b6 2021-12-17 jrmu
71 84c190b6 2021-12-17 jrmu // The capcha will be stored
72 84c190b6 2021-12-17 jrmu // for the session
73 84c190b6 2021-12-17 jrmu $_SESSION["captcha"] = $captcha;
74 84c190b6 2021-12-17 jrmu
75 84c190b6 2021-12-17 jrmu // Generate a 50x24 standard captcha image
76 84c190b6 2021-12-17 jrmu $im = imagecreatetruecolor(250, 120);
77 84c190b6 2021-12-17 jrmu
78 84c190b6 2021-12-17 jrmu // Blue color
79 84c190b6 2021-12-17 jrmu $bg = imagecolorallocate($im, 22, 86, 165);
80 84c190b6 2021-12-17 jrmu
81 84c190b6 2021-12-17 jrmu // White color
82 84c190b6 2021-12-17 jrmu $fg = imagecolorallocate($im, 255, 255, 255);
83 84c190b6 2021-12-17 jrmu
84 84c190b6 2021-12-17 jrmu // Give the image a blue background
85 84c190b6 2021-12-17 jrmu imagefill($im, 0, 0, $bg);
86 84c190b6 2021-12-17 jrmu
87 84c190b6 2021-12-17 jrmu // Print the captcha text in the image
88 84c190b6 2021-12-17 jrmu // with random position & size
89 84c190b6 2021-12-17 jrmu //imagestring($im, 5, rand(1, 40), rand(1, 40), $captcha, $fg);
90 84c190b6 2021-12-17 jrmu imagettftext($im , 96, 0, rand(0,130), 120-rand(0,60), $fg , 'intuitive.ttf', $captcha);
91 84c190b6 2021-12-17 jrmu //imagettftext($im , 96, 0, rand(20, 50), rand(20, 50), $fg , 'eczar.ttf', $captcha);
92 84c190b6 2021-12-17 jrmu
93 84c190b6 2021-12-17 jrmu // VERY IMPORTANT: Prevent any Browser Cache!!
94 84c190b6 2021-12-17 jrmu header("Cache-Control: no-store,
95 84c190b6 2021-12-17 jrmu no-cache, must-revalidate");
96 84c190b6 2021-12-17 jrmu
97 84c190b6 2021-12-17 jrmu // The PHP-file will be rendered as image
98 84c190b6 2021-12-17 jrmu header('Content-type: image/png');
99 84c190b6 2021-12-17 jrmu
100 84c190b6 2021-12-17 jrmu // Finally output the captcha as
101 84c190b6 2021-12-17 jrmu // PNG image the browser
102 84c190b6 2021-12-17 jrmu imagepng($im);
103 84c190b6 2021-12-17 jrmu
104 84c190b6 2021-12-17 jrmu // Free memory
105 84c190b6 2021-12-17 jrmu imagedestroy($im);
106 84c190b6 2021-12-17 jrmu ?>