33 Commits

Author SHA1 Message Date
troy
0b7d47e816 better html emails 2022-11-11 13:20:20 +01:00
troy
6e7fd28762 sqal set mehr params 2022-10-28 17:15:53 +02:00
Sebastian Titz
756827d92b added google official 2022-09-23 07:21:14 +02:00
titz lapi
3f2c5c1e73 ip ban 2022-08-16 21:35:12 +02:00
troy
79e27ee95a no tabs 2022-07-22 23:30:10 +02:00
Sebastian Titz
af3d7d33a1 spam ip 2022-05-17 11:25:02 +02:00
Sebastian Titz
4636e50b25 und und oder vertauscht 2022-05-05 10:30:21 +02:00
troy
88f87e15b4 openmgraph und hotfix in string 2022-03-20 12:07:25 +01:00
Sebastian Titz
e44c10c5c2 auch keine crawler agents 2022-01-31 11:29:51 +01:00
troy
48bd8e66f2 Merge branch 'master' of https://git.seemsleg.it/pub/php-func-lib 2022-01-23 00:51:19 +01:00
troy
2e5b29bd9d so nun aber richtig 2022-01-23 00:51:10 +01:00
troy
b689d73065 warning gefixt wegen content type 2022-01-23 00:11:21 +01:00
troy
ff40210fb6 checkHuman 2022-01-22 11:52:53 +01:00
troy
209bb0b00c domain tipser 2022-01-09 15:15:20 +01:00
troy
6bec287363 die troy api 2022-01-09 13:27:20 +01:00
troy
b035d8c2d9 mj12bot 2021-11-27 09:56:12 +01:00
troy
17ced6d294 ip google und mj12 2021-11-27 09:51:13 +01:00
Sebastian Titz
4b54e14522 ln 2021-11-24 15:09:10 +01:00
Sebastian Titz
f1b4aaf23a Merge branch 'master' of https://git.seemsleg.it/pub/php-func-lib 2021-11-24 13:02:08 +01:00
Sebastian Titz
e6fd1de954 lrln 2021-11-24 13:01:24 +01:00
troy
c631b51ba2 hosteurope ips 2021-11-21 09:17:33 +01:00
Sebastian Titz
3e083b4eb9 ips 2021-11-16 10:14:06 +01:00
Sebastian Titz
0c41265fb6 bot ips 2021-11-05 07:44:33 +01:00
Sebastian Titz
31a0a02366 Merge branch 'master' of https://git.seemsleg.it/pub/php-func-lib 2021-11-03 07:22:50 +01:00
Sebastian Titz
233c9f5aed & in umlaute 2021-11-03 07:22:04 +01:00
troy
9c034cd935 versuch2 mit single param ohne array umbau 2021-10-15 12:48:41 +02:00
troy
d32ad04722 sql single hotfix 2021-10-15 12:21:19 +02:00
troy
32c65f7da1 sql mit einem param muss nicht mehr mit array geschrieben werden 2021-10-10 16:28:12 +02:00
troy
f736789f5b . 2021-10-09 13:44:04 +02:00
troy
973a0a1d01 microsoft ip 2021-09-21 15:14:23 +02:00
Sebastian Titz
de82116482 crawlerips 2021-08-26 15:21:59 +02:00
Sebastian Titz
5c7e2f6a8f abfangen wenn mailtext arrayst 2021-08-26 15:12:49 +02:00
Sebastian Titz
6920c10d2d remove markdown 2021-08-26 09:18:43 +02:00
7 changed files with 271 additions and 101 deletions

View File

@@ -1,18 +1,43 @@
<?php <?php
$_ips_crawler = array ( $_ips_crawler = array (
'34.79.234.76', // google
'40.77.167.', // bing bot '40.77.167.', // bing bot
'54.36.148.', // ahrefbot
'54.36.149.', // ahrefbot
'66.249.', '66.249.',
'62.138.', '62.138.',
'62.210.149.60', '62.210.149.60',
'65.21.180.26', // seekport
'81.209.177.145', // website-datenbank.de
'85.25.177.', // abuse
'85.25.210.', // hosteurope abuse
'92.118.160.37', // netsystem research bot '92.118.160.37', // netsystem research bot
'104.155.85.', // google '104.155.85.', // google
'114.119.1', // petalbot '114.119.1', // petalbot
'144.76.15.153', // mj12bot
'148.251.120.201', // mj12bot
'157.55.39.', // microsoft???
'172.217.', //google
'176.125.230.38', //sql inj
'185.191.171.', // semrush bot '185.191.171.', // semrush bot
'207.46.13.124', // bing bot '192.99.5.225', // ...
'54.36.148.', // ahrefbot '205.185.115.87', //sex spam
'207.46.13.', // bing bot
'216.58.', //google
'216.244.66.196', // opensiteexplorer '216.244.66.196', // opensiteexplorer
'65.21.180.26', // seekport '2a01:4f8:190:4244::2', // mj12bot
'81.209.177.145', // website-datenbank.de '2a01:4f8:162:43c5::2', // mj12bot
'2a01:4f8:190:4244::2' // mj12bot
); );
function checkHuman() {
global $_ips_crawler;
if (stripos ( $_SERVER ['HTTP_USER_AGENT'], 'bot' ) !== false || stripos ( $_SERVER ['HTTP_USER_AGENT'], 'crawler' ) !== false) {
return false;
}
foreach ( $_ips_crawler as $np ) {
if (startsWith ( $_SERVER ['REMOTE_ADDR'], $np )) {
return false;
}
}
return true;
}
?> ?>

View File

@@ -18,3 +18,32 @@ function send_mail($an, $betreff, $text, $ok = '', $error = '') {
} }
} }
function send_html_mail($an, $betreff, $text, $ok = '', $error = '') {
$boundary = md5($an.$betreff.$text.time());
include 'secret.php';
$sender = 'noreply@troy-grunt.de';
if (isset ( $_sendermail )) {
$sender = $_sendermail;
}
$header = 'From: ' . $sender . "\n";
$header .= 'To: ' . $an . "\n";
$header .= 'Content-Type:multipart/alternative;boundary='.$boundary . "\n";
$header .= 'X-Mailer: PHP/' . phpversion ();
$content = "This is multipart message using MIME\n";
$content .= "--" . $boundary . "\n";
$content .= "Content-type: text/plain;charset=utf-8\n";
$content .= 'Content-Transfer-Encoding: 8bit' . "\n\n";
$content .= strip_tags($text)."\n\n";
$content .= "--" . $boundary . "\n";
$content .= "Content-type: text/html;charset=utf-8\n";
$content .= "Content-Transfer-Encoding: 8bit". "\n\n";
$content .= '<html><body>'.$text.'</body></html>'."\n\n";
if (mail ( $an, $betreff, $content, $header ) === true) {
echo $ok;
} else {
echo $error;
}
}
?>

84
markdown.php Normal file
View File

@@ -0,0 +1,84 @@
<?php
// TODO markdown imple
function md($str) {
// return nl2br ( $str ); // TODO md problem
$text = '<p>';
$lv = 0;
$str = explode ( "\n", str_replace ( "\r\n", "\n", $str ) );
// var_dump ( $str );
foreach ( $str as $t ) {
// echo '<pre>' . $t . '</pre>';
$t = preg_replace_callback ( '/\[\[([^\]]*)\]\]/m', '_md_link_replacer', $t );
$nlv = 0;
if (startsWith ( $t, '**** ' )) {
// echo - 1;
$t = substr ( $t, 5 );
$nlv = 4;
}
if (startsWith ( $t, '*** ' )) {
// echo - 2;
$t = substr ( $t, 4 );
$nlv = 3;
}
if (startsWith ( $t, '** ' )) {
// echo - 3;
$t = substr ( $t, 3 );
$nlv = 2;
}
if (startsWith ( $t, '* ' )) {
// echo - 4;
$t = substr ( $t, 2 );
$nlv = 1;
}
if ($lv != $nlv) {
while ( $lv < $nlv ) {
// echo '-5 (' . $lv . '-' . $nlv . ')';
$text .= '<ul>';
$lv ++;
}
while ( $lv > $nlv ) {
// echo '-6 (' . $lv . '-' . $nlv . ')';
$text .= '</ul>';
$lv --;
}
}
if (startsWith ( $t, '!!!!! ' )) {
$t = '<h5>' . substr ( $t, 6 ) . '</h5>';
}
if (startsWith ( $t, '!!!! ' )) {
$t = '<h4>' . substr ( $t, 5 ) . '</h4>';
}
if (startsWith ( $t, '!!! ' )) {
$t = '<h3>' . substr ( $t, 4 ) . '</h3>';
}
if (startsWith ( $t, '!! ' )) {
$t = '<h2>' . substr ( $t, 3 ) . '</h2>';
}
if (startsWith ( $t, '! ' )) {
$t = '<h1>' . substr ( $t, 2 ) . '</h1>';
}
if ($lv == 0) {
if ($t == '') {
$text .= '</p><p>';
} else {
$text .= $t;
}
} else {
$text .= '<li>' . $t . '</li>';
}
// var_dump ( $t );
}
while ( $lv > 0 ) {
$text .= '</ul>';
$lv --;
}
$text .= '</p>';
return $text;
}
function _md_link_replacer($in) {
// var_dump ( $in );
$in = explode ( '|', $in [1], 2 );
return '<a href="' . $in [0] . '" target="_blank">' . (isset ( $in [1] ) ? $in [1] : $in [0]) . '</a>';
}
?>

15
og.php Normal file
View File

@@ -0,0 +1,15 @@
<?php
function scanOG($url) {
$og = array();
$html = file_get_contents($url);
$re = '/<meta (name|property)=("|\')(.*?)("|\').*?content=("|\')(.*?)("|\')/m';
preg_match_all($re, $html, $matches, PREG_SET_ORDER, 0);
foreach($matches as $m) {
$og[$m[3]] = $m[6];
}
//print_r($og);
return $og;
}
?>

177
sql.php
View File

@@ -27,46 +27,50 @@ class SQL {
$this->cnt_get ++; $this->cnt_get ++;
if (SQL_LOG) if (SQL_LOG)
fputs ( $this->f, str_replace ( array ( fputs ( $this->f, str_replace ( array (
"\n", "\n",
" " " "
), array ( ), array (
' ', ' ',
'' ''
), $que ) . "\n" . print_r ( $p, true ) . "\n\n" ); ), $que ) . "\n" . print_r ( $p, true ) . "\n\n" );
$statement = $this->h->prepare ( $que ); $statement = $this->h->prepare ( $que );
switch (count ( $p )) { if (is_array ( $p )) {
case 0 : switch (count ( $p )) {
break; case 0 :
case 1 : break;
$statement->bind_param ( $t, $p [0] ); case 1 :
break; $statement->bind_param ( $t, $p [0] );
case 2 : break;
$statement->bind_param ( $t, $p [0], $p [1] ); case 2 :
break; $statement->bind_param ( $t, $p [0], $p [1] );
case 3 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2] ); case 3 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2] );
case 4 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] ); case 4 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] );
case 5 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] ); case 5 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] );
case 6 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] ); case 6 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] );
case 7 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] ); case 7 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] );
case 8 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] ); case 8 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] );
case 9 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] ); case 9 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] );
case 10 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9] ); case 10 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9] );
break;
}
} else {
$statement->bind_param ( $t, $p );
} }
$statement->execute (); $statement->execute ();
@@ -122,60 +126,55 @@ class SQL {
$statement = $this->h->prepare ( $que ); $statement = $this->h->prepare ( $que );
if (SQL_LOG) if (SQL_LOG)
fputs ( $this->f, str_replace ( array ( fputs ( $this->f, str_replace ( array (
"\n", "\n",
" " " "
), array ( ), array (
' ', ' ',
'' ''
), $que ) . "\n" . print_r ( $p, true ) . "\n\n" ); ), $que ) . "\n" . print_r ( $p, true ) . "\n\n" );
switch (count ( $p )) { if (is_array ( $p )) {
case 0 : switch (count ( $p )) {
break; case 0 :
case 1 : break;
$statement->bind_param ( $t, $p [0] ); case 1 :
break; $statement->bind_param ( $t, $p [0] );
case 2 : break;
$statement->bind_param ( $t, $p [0], $p [1] ); case 2 :
break; $statement->bind_param ( $t, $p [0], $p [1] );
case 3 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2] ); case 3 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2] );
case 4 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] ); case 4 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3] );
case 5 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] ); case 5 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4] );
case 6 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] ); case 6 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5] );
case 7 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] ); case 7 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6] );
case 8 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] ); case 8 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7] );
case 9 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] ); case 9 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8] );
case 10 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9] ); case 10 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9] );
case 11 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10] ); case 11 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10] );
case 12 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10], $p [11] ); case 12 :
break; $statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10], $p [11] );
case 13 : break;
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10], $p [11], $p [12] ); }
break; } else {
case 14 : $statement->bind_param ( $t, $p );
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10], $p [11], $p [12], $p [13] );
break;
case 15 :
$statement->bind_param ( $t, $p [0], $p [1], $p [2], $p [3], $p [4], $p [5], $p [6], $p [7], $p [8], $p [9], $p [10], $p [11], $p [12], $p [13], $p [14] );
break;
} }
$statement->execute (); $statement->execute ();
if (isset ( $statement->error ) && $statement->error != '') { if (isset ( $statement->error ) && $statement->error != '') {

View File

@@ -7,7 +7,8 @@ function umlaute($str) {
'ä', 'ä',
'ö', 'ö',
'ü', 'ü',
'ß' 'ß',
'&'
), array ( ), array (
'&Auml;', '&Auml;',
'&Ouml;', '&Ouml;',
@@ -15,7 +16,8 @@ function umlaute($str) {
'&auml;', '&auml;',
'&ouml;', '&ouml;',
'&uuml;', '&uuml;',
'&szlig;' '&szlig;',
'&amp;'
), $str ); ), $str );
} }
function chk($str) { function chk($str) {
@@ -37,7 +39,7 @@ function random($name_laenge) {
@mt_srand ( ( double ) microtime () * 1000000 ); @mt_srand ( ( double ) microtime () * 1000000 );
for($i = 0; $i < $name_laenge; $i ++) { for($i = 0; $i < $name_laenge; $i ++) {
$r = mt_rand ( 0, strlen ( $zeichen ) - 1 ); $r = mt_rand ( 0, strlen ( $zeichen ) - 1 );
$name_neu .= $zeichen {$r}; $name_neu .= $zeichen[$r];
} }
return $name_neu; return $name_neu;
} }

16
troy-api.php Normal file
View File

@@ -0,0 +1,16 @@
<?php
function sendToTroy($data) {
$url = 'https://troy-grunt.de/api.php';
$options = array (
'http' => array (
'method' => 'POST',
'header' => array (
'Content-Type: application/json'
),
'content' => json_encode ( $data )
)
);
$context = stream_context_create ( $options );
return file_get_contents ( $url, false, $context );
}
?>