Маска или скрыть URL из музыкального потока - PullRequest
0 голосов
/ 16 ноября 2018

Мне нужно замаскировать внешние URL-адреса некоторых песен, и пользователь может воспроизвести их из браузера.Поскольку URL-адреса находятся за пределами сервера, я не могу поместить их (я думаю, что это так) в дружественный URL-адрес

Теперь есть что-то вроде этого:

<audio controls="controls">
  <source src="http://X.X.X.X/music/12345pd?so=/stream" type="audio/ogg" />
</audio>

И если пользователь посмотрел исходный кодв браузере он не должен видеть URL, или в любом случае он должен будет видеть что-то вроде этого:

<audio controls="controls">
  <source src="http://myweb/Rock" type="audio/ogg" />
</audio>

Мне все равно, если решение jquery, javascript ... или сделатьдругой способ размножения.

1 Ответ

0 голосов
/ 16 ноября 2018

Я один из тех, кто проголосовал за комментарий @ charlietfl, однако вы можете сделать что-то вроде ниже:

Random rnd = new Random();
string value = rnd.Next(int.MaxValue).ToString()
Session[trackid] = value;

<audio controls="controls">
  <source src="http://myweb/Play/trackid=@Session[trackid]&value=@value" type="audio/ogg" />
</audio>

Затем на странице воспроизведения:

[HttpGet]
public IActionResult Play([FromUri] string trackid, [FromUri] string value)
{   
    if(Session[trackid] == value)
   {
    byte[] b = System.IO.File.ReadAllBytes(trackid + ".ogg");   
     Random rnd = new Random();
     Session[trackid] = rnd.Next(int.MaxValue).ToString();       
    return File(b, "audio/ogg");
   }
  return Content("");
}

Это заставит вашу ссылку работать только один раз при загрузке страницы, и если пользователь скопирует ссылку, она не будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...