스크립트가 있는 구문 분석합니다. 는 경우 쿼리에는 사용자와 비밀번호,그것을 검색이다.
그러므로 저는 유지 PHP 경우 쿼리를 필요합니다.
Add-Type -AssemblyName System.Web
$url = "http://toto.site:8080/user/password12349876toolong/2716?checkedby:toto.net"
$uri = [System.Uri]$url
$query = $uri.Query
$IPTVhost = $uri.Host
$IPTVport = $uri.Port
$Segments = $uri.Segments.TrimEnd('/')
$proto = $uri.Scheme
$ParsedQueryString = [System.Web.HttpUtility]::ParseQueryString($uri.Query)
if(!$query) {
if ($Segments[1].TrimEnd('/') -eq "live"){
$username = $Segments[2].TrimEnd('/')
$password = $Segments[3].TrimEnd('/')
}
else
{
$username = $Segments[1].TrimEnd('/')
$password = $Segments[2].TrimEnd('/')
}
}
else {
$username = $ParsedQueryString['username']
$password = $ParsedQueryString['password']
}
cls
if (!($url -like '\?checkedby\:'))
{
echo "this is a chekedby url"
$filter = $url.TrimEnd("\?checkedby\:toto.net")
echo "filter : $filter"
}
echo "url: $url"
echo "query: $query"
echo "host: $IPTVhost"
echo "port: $IPTVport"
echo "segment: $Segments"
echo "proto: $proto"
echo "username: $username"
echo "password: $password"
하고 싶 필터의 문자를 입력할 경우 URL 에서 스크립트가(종종에서 찾을 쿼리는 항상은 아니지만).
나는 그것을 알고 시작 "? Checkedby:"
나 "& checkedby:"
고 항상의 끝에서 url 이 있습니다.
문제:체인은 변수가 될 수 있습니다:
http://toto.com:8080/get.php?username=toto&password=toto&checkedby:titi.com
나
http://toto.com/1234/4321/5678?checkedby:anyone.xyz
나
http://toto.com/1234/4321/5678?master.m3u8&checkedby:anyelse.to
또는 이 쓰레기:
http://toto.com:8080/get.php?username=toto&password=toto&type=output.ext?checkedby:titi.com
가 여러 가지 방법으로 TrimEnd 지만 아무것도 할 수 없습니다. 같은 조건에 동의하는 것입니다 정확한 표현과 같:
$filter = $url.TrimEnd("\?checkedby\:toto.net")
하지만 일하지 않는(그리고 그의 정상적인)으로 끝나는 url 을:
&checkedby:another.com.
그래서 질문:
는 방법을 제거하는 모든 것을 시작으로:
&checkedby:
나
?checkedby:
감사합니다.