Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
open-source
MetaGer
Commits
711365ba
Commit
711365ba
authored
Oct 01, 2020
by
Dominik Hebeler
Browse files
Detecting if Javascripti is enabled
parent
ae6d1fc2
Changes
5
Hide whitespace changes
Inline
Side-by-side
app/Http/Controllers/HumanVerification.php
View file @
711365ba
...
...
@@ -272,7 +272,7 @@ class HumanVerification extends Controller
return
redirect
(
'admin/bot'
);
}
public
function
browserVerification
(
Request
$request
)
public
function
browserVerification
(
Request
$request
,
$javascript
=
false
)
{
$key
=
$request
->
input
(
"id"
,
""
);
...
...
@@ -281,8 +281,8 @@ class HumanVerification extends Controller
abort
(
404
);
}
Redis
::
connection
(
"cache"
)
->
pipeline
(
function
(
$redis
)
use
(
$key
)
{
$redis
->
rpush
(
$key
,
true
);
Redis
::
connection
(
"cache"
)
->
pipeline
(
function
(
$redis
)
use
(
$key
,
$javascript
)
{
$redis
->
rpush
(
$key
,
$javascript
);
$redis
->
expire
(
$key
,
30
);
});
...
...
app/Http/Middleware/BrowserVerification.php
View file @
711365ba
...
...
@@ -41,8 +41,10 @@ class BrowserVerification
if
(
!
preg_match
(
"/^[a-f0-9]
{
32
}
$/"
,
$mgv
))
{
abort
(
404
);
}
$result
=
boolval
(
Redis
::
connection
(
"cache"
)
->
blpop
(
$mgv
,
5
));
if
(
$result
===
true
)
{
$result
=
Redis
::
connection
(
"cache"
)
->
blpop
(
$mgv
,
5
);
if
(
$result
!==
null
)
{
$result
=
boolval
(
$result
[
1
]);
$request
->
request
->
add
([
"javascript"
=>
$result
]);
return
$next
(
$request
);
}
else
{
return
redirect
(
"/"
);
...
...
@@ -57,9 +59,10 @@ class BrowserVerification
echo
(
view
(
'layouts.resultpage.verificationHeader'
)
->
with
(
'key'
,
$key
)
->
render
());
flush
();
$answer
=
boolval
(
Redis
::
connection
(
"cache"
)
->
blpop
(
$key
,
2
));
if
(
$answer
===
true
)
{
$answer
=
Redis
::
connection
(
"cache"
)
->
blpop
(
$key
,
2
);
if
(
$answer
!==
null
)
{
$answer
=
boolval
(
$answer
[
1
]);
$request
->
request
->
add
([
"javascript"
=>
$answer
]);
echo
(
view
(
'layouts.resultpage.resources'
)
->
render
());
flush
();
$request
->
request
->
add
([
"headerPrinted"
=>
true
]);
...
...
app/MetaGer.php
View file @
711365ba
...
...
@@ -914,6 +914,12 @@ class MetaGer
}
$this
->
headerPrinted
=
$request
->
input
(
"headerPrinted"
,
false
);
$request
->
request
->
remove
(
"headerPrinted"
);
$this
->
javascript
=
$request
->
input
(
"javascript"
,
false
);
if
(
$this
->
javascript
!==
true
&&
$this
->
javascript
!==
false
)
{
$this
->
javascript
=
false
;
}
$request
->
request
->
remove
(
"javascript"
);
$this
->
url
=
$request
->
url
();
$this
->
fullUrl
=
$request
->
fullUrl
();
# Zunächst überprüfen wir die eingegebenen Einstellungen:
...
...
resources/views/layouts/resultpage/verificationHeader.blade.php
View file @
711365ba
...
...
@@ -2,4 +2,12 @@
<html
lang=
"{!! trans('staticPages.meta.language') !!}"
>
<head>
<meta
charset=
"UTF-8"
>
<noscript>
<link
rel=
"stylesheet"
href=
"/index.css?id={{ $key }}"
>
</noscript>
<script>
var
link
=
document
.
createElement
(
"
link
"
);
link
.
rel
=
"
stylesheet
"
;
link
.
href
=
"
/index-js.css?id={{ $key }}
"
;
document
.
head
.
appendChild
(
link
);
</script>
routes/web.php
View file @
711365ba
...
...
@@ -203,6 +203,9 @@ Route::group(
Route
::
get
(
'r/metager/{mm}/{pw}/{url}'
,
[
'as'
=>
'humanverification'
,
'uses'
=>
'HumanVerification@removeGet'
]);
Route
::
post
(
'img/dog.jpg'
,
'HumanVerification@whitelist'
);
Route
::
get
(
'index.css'
,
'HumanVerification@browserVerification'
);
Route
::
get
(
'index-js.css'
,
function
(
\
Illuminate\Http\Request
$request
)
{
return
App
::
make
(
'\App\Http\Controllers\HumanVerification'
)
->
browserVerification
(
$request
,
true
);
});
Route
::
get
(
'meta/picture'
,
'Pictureproxy@get'
);
Route
::
get
(
'clickstats'
,
'LogController@clicklog'
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment