Compare commits
42 Commits
feature/ma
...
issue-upgr
| Author | SHA1 | Date | |
|---|---|---|---|
| 71bd84dc03 | |||
|
|
6ecf935961 | ||
|
|
560ef6589c | ||
|
|
e4a21f4d7c | ||
|
|
c2e488c8e7 | ||
|
|
59b5ffc82f | ||
|
|
2913f3f032 | ||
| 67a39afe0f | |||
|
|
49ad1f2438 | ||
|
|
7a596597da | ||
|
|
0b7d47e816 | ||
|
|
6e7fd28762 | ||
|
|
756827d92b | ||
|
|
3f2c5c1e73 | ||
|
|
79e27ee95a | ||
|
|
af3d7d33a1 | ||
|
|
4636e50b25 | ||
|
|
88f87e15b4 | ||
|
|
e44c10c5c2 | ||
|
|
48bd8e66f2 | ||
|
|
2e5b29bd9d | ||
|
|
b689d73065 | ||
|
|
ff40210fb6 | ||
|
|
209bb0b00c | ||
|
|
6bec287363 | ||
|
|
b035d8c2d9 | ||
|
|
17ced6d294 | ||
|
|
4b54e14522 | ||
|
|
f1b4aaf23a | ||
|
|
e6fd1de954 | ||
|
|
c631b51ba2 | ||
|
|
3e083b4eb9 | ||
|
|
0c41265fb6 | ||
|
|
31a0a02366 | ||
|
|
233c9f5aed | ||
|
|
9c034cd935 | ||
|
|
d32ad04722 | ||
|
|
32c65f7da1 | ||
|
|
f736789f5b | ||
|
|
973a0a1d01 | ||
|
|
de82116482 | ||
|
|
5c7e2f6a8f |
@@ -6,5 +6,6 @@ include_once ('string.php');
|
||||
include_once ('numbers.php');
|
||||
include_once ('mail.php');
|
||||
include_once ('debug.php');
|
||||
include_once ('troy-api.php');
|
||||
// include_once ('markdown.php');
|
||||
?>
|
||||
@@ -1,18 +1,43 @@
|
||||
<?php
|
||||
$_ips_crawler = array (
|
||||
'34.79.234.76', // google
|
||||
'40.77.167.', // bing bot
|
||||
'54.36.148.', // ahrefbot
|
||||
'54.36.149.', // ahrefbot
|
||||
'66.249.',
|
||||
'62.138.',
|
||||
'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
|
||||
'104.155.85.', // google
|
||||
'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
|
||||
'207.46.13.124', // bing bot
|
||||
'54.36.148.', // ahrefbot
|
||||
'192.99.5.225', // ...
|
||||
'205.185.115.87', //sex spam
|
||||
'207.46.13.', // bing bot
|
||||
'216.58.', //google
|
||||
'216.244.66.196', // opensiteexplorer
|
||||
'65.21.180.26', // seekport
|
||||
'81.209.177.145', // website-datenbank.de
|
||||
'2a01:4f8:190:4244::2' // mj12bot
|
||||
'2a01:4f8:190:4244::2', // mj12bot
|
||||
'2a01:4f8:162:43c5::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;
|
||||
}
|
||||
?>
|
||||
63
mail.php
63
mail.php
@@ -1,10 +1,15 @@
|
||||
<?php
|
||||
function send_mail($an, $betreff, $text, $ok = '', $error = '') {
|
||||
include 'secret.php';
|
||||
global $absender;
|
||||
$sender = 'noreply@troy-grunt.de';
|
||||
if(isset($absender) && $absender) {
|
||||
$sender = $absender;
|
||||
}else{
|
||||
include 'secret.php';
|
||||
if (isset ( $_sendermail )) {
|
||||
$sender = $_sendermail;
|
||||
}
|
||||
}
|
||||
$header = 'From: ' . $sender . "\r\n";
|
||||
$header .= 'To: ' . $an . "\r\n";
|
||||
$header .= 'Content-Type:text/html' . "\r\n";
|
||||
@@ -18,3 +23,59 @@ function send_mail($an, $betreff, $text, $ok = '', $error = '') {
|
||||
}
|
||||
}
|
||||
|
||||
function send_html_mail($an, $betreff, $text, $ok = '', $error = '') {
|
||||
global $absender;
|
||||
$sender = 'noreply@troy-grunt.de';
|
||||
if(isset($absender) && $absender) {
|
||||
$sender = $absender;
|
||||
}else{
|
||||
include 'secret.php';
|
||||
if (isset ( $_sendermail )) {
|
||||
$sender = $_sendermail;
|
||||
}
|
||||
}
|
||||
$boundary = md5($an.$betreff.$text.time());
|
||||
|
||||
$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;
|
||||
}
|
||||
}
|
||||
|
||||
function send_php_mail($an, $betreff, $text, $ok = '', $error = '') {
|
||||
global $_sendermail;
|
||||
$sender = 'noreply@troy-grunt.de';
|
||||
if (isset ( $_sendermail )) {
|
||||
$sender = $_sendermail;
|
||||
}
|
||||
include 'php-mailer/PHPMailer.php';
|
||||
$mail = new PHPMailer();
|
||||
|
||||
$mail->setFrom($sender);
|
||||
$mail->addAddress($an);
|
||||
$mail->Subject = $betreff;
|
||||
$mail->msgHTML($text, __DIR__);
|
||||
$mail->AltBody = strip_tags($text);
|
||||
|
||||
if (!$mail->send()) {
|
||||
echo 'Mailer Error: ' . $mail->ErrorInfo;
|
||||
} else {
|
||||
echo 'Message sent!';
|
||||
}
|
||||
}
|
||||
?>
|
||||
84
markdown.php
Normal file
84
markdown.php
Normal 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
15
og.php
Normal 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;
|
||||
}
|
||||
?>
|
||||
5058
php-mailer/PHPMailer.php
Normal file
5058
php-mailer/PHPMailer.php
Normal file
File diff suppressed because it is too large
Load Diff
1456
php-mailer/SMTP.php
Normal file
1456
php-mailer/SMTP.php
Normal file
File diff suppressed because it is too large
Load Diff
@@ -5,8 +5,14 @@ $_m['host'] = 'localhost';
|
||||
$_m['user'] = '';
|
||||
$_m['pass'] = '';
|
||||
$_m['data'] = '';
|
||||
$_m['pre'] = 'efcms2_';
|
||||
$_m['pre'] = '';
|
||||
$_m['salt'] = '';
|
||||
|
||||
$_sendermail = 'noreply@troy-grunt.de';
|
||||
$_sendermail = 'noreply@.de';
|
||||
$_smtp['srv'] = 'mail.seemsleg.it';
|
||||
$_smtp['user'] = 'noreply@.de';
|
||||
$_smtp['pw'] = '';
|
||||
|
||||
$_i['host'] = '';
|
||||
$_i['secret'] = '';
|
||||
?>
|
||||
22
sql.php
22
sql.php
@@ -1,4 +1,6 @@
|
||||
<?php
|
||||
$__idata = [];
|
||||
|
||||
class SQL {
|
||||
private $h;
|
||||
private $res = false;
|
||||
@@ -8,8 +10,11 @@ class SQL {
|
||||
public $cnt_get = 0;
|
||||
public $cnt_set = 0;
|
||||
public function __construct() {
|
||||
global $__idata;
|
||||
require_once ('secret.php');
|
||||
|
||||
$__idata = $_i;
|
||||
|
||||
$this->m = $_m;
|
||||
$this->pre = $_m ['pre'];
|
||||
$this->salt = $_m ['salt'];
|
||||
@@ -34,6 +39,7 @@ class SQL {
|
||||
''
|
||||
), $que ) . "\n" . print_r ( $p, true ) . "\n\n" );
|
||||
$statement = $this->h->prepare ( $que );
|
||||
if (is_array ( $p )) {
|
||||
switch (count ( $p )) {
|
||||
case 0 :
|
||||
break;
|
||||
@@ -68,6 +74,9 @@ class SQL {
|
||||
$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 ();
|
||||
|
||||
$ret = array ();
|
||||
@@ -128,6 +137,7 @@ class SQL {
|
||||
' ',
|
||||
''
|
||||
), $que ) . "\n" . print_r ( $p, true ) . "\n\n" );
|
||||
if (is_array ( $p )) {
|
||||
switch (count ( $p )) {
|
||||
case 0 :
|
||||
break;
|
||||
@@ -167,15 +177,9 @@ class SQL {
|
||||
case 12 :
|
||||
$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] );
|
||||
break;
|
||||
case 13 :
|
||||
$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;
|
||||
case 14 :
|
||||
$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;
|
||||
}
|
||||
} else {
|
||||
$statement->bind_param ( $t, $p );
|
||||
}
|
||||
$statement->execute ();
|
||||
if (isset ( $statement->error ) && $statement->error != '') {
|
||||
|
||||
@@ -7,7 +7,8 @@ function umlaute($str) {
|
||||
'ä',
|
||||
'ö',
|
||||
'ü',
|
||||
'ß'
|
||||
'ß',
|
||||
'&'
|
||||
), array (
|
||||
'Ä',
|
||||
'Ö',
|
||||
@@ -15,7 +16,8 @@ function umlaute($str) {
|
||||
'ä',
|
||||
'ö',
|
||||
'ü',
|
||||
'ß'
|
||||
'ß',
|
||||
'&'
|
||||
), $str );
|
||||
}
|
||||
function chk($str) {
|
||||
@@ -37,7 +39,7 @@ function random($name_laenge) {
|
||||
@mt_srand ( ( double ) microtime () * 1000000 );
|
||||
for($i = 0; $i < $name_laenge; $i ++) {
|
||||
$r = mt_rand ( 0, strlen ( $zeichen ) - 1 );
|
||||
$name_neu .= $zeichen {$r};
|
||||
$name_neu .= $zeichen[$r];
|
||||
}
|
||||
return $name_neu;
|
||||
}
|
||||
|
||||
82
troy-api.php
Normal file
82
troy-api.php
Normal file
@@ -0,0 +1,82 @@
|
||||
<?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 );
|
||||
}
|
||||
|
||||
function sendIssue($service, $text, $data = []) {
|
||||
global $__idata;
|
||||
|
||||
$url = 'https://issues.troy-grunt.de/api';
|
||||
|
||||
// Basisdaten für den POST-Request
|
||||
$postData = [
|
||||
'host' => $__idata['host'],
|
||||
'secret' => $__idata['secret'],
|
||||
'typ' => $service,
|
||||
'text' => $text,
|
||||
'data' => json_encode($data) // Falls 'data' ein Array ist, wird es als JSON gesendet
|
||||
];
|
||||
|
||||
// cURL initialisieren
|
||||
$ch = curl_init($url);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_POST, true);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded']);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
|
||||
|
||||
// Anfrage senden & Antwort erhalten
|
||||
$response = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
|
||||
//TODO
|
||||
function sendSimpleIssue($text,$url){
|
||||
$apiUrl = 'https://issues.troy-grunt.de/api/simple';
|
||||
|
||||
// Die notwendigen Daten
|
||||
$data = [
|
||||
'domain' => 'example.com', // Ersetze mit deiner registrierten Domain
|
||||
'secret' => 'geheimes-passwort', // Ersetze mit deinem Secret
|
||||
'text' => $text,
|
||||
'url' => $url
|
||||
];
|
||||
|
||||
$options = [
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json\r\n",
|
||||
'method' => 'POST',
|
||||
'content' => json_encode($data)
|
||||
]
|
||||
];
|
||||
|
||||
$context = stream_context_create($options);
|
||||
$response = file_get_contents($apiUrl, false, $context);
|
||||
|
||||
if ($response === FALSE) {
|
||||
die('Fehler bei der API-Anfrage');
|
||||
}
|
||||
|
||||
// Antwort dekodieren
|
||||
$result = json_decode($response, true);
|
||||
|
||||
if (isset($result['success']) && $result['success']) {
|
||||
echo "Issue erfolgreich erstellt. ID: " . $result['issue_id'];
|
||||
} else {
|
||||
echo "Fehler: " . ($result['error'] ?? 'Unbekannter Fehler');
|
||||
}
|
||||
}//TODO nutzen
|
||||
?>
|
||||
Reference in New Issue
Block a user