Здесь вы:
void readFromFile(string filename)
{
string line;
ifstream myfile(filename);
if (myfile.is_open())
{
while ( getline(myfile,line) )
{
cout << line << '\n';
}
myfile.close();
}
}
int main(int argc, char* argv)
{
readFromFile("Input.txt");
getchar();
return 0;
}
Вы » Возможно, лучше будет использовать ssl_requirement
и не заботиться о том, использует ли ссылка или перенаправление https. С помощью ssl_requirement вы объявляете, какие действия требуют SSL, какие поддерживают SSL, а какие не должны использовать SSL.
Если вы перенаправляете куда-то за пределы вашего приложения Rails, то указание протокола, как предлагает Олли, будет работать .
В Rails 4 можно использовать force_ssl_redirect
before_action для принудительного применения ssl для одного контроллера. Обратите внимание, что при использовании этого метода ваши куки не будут помечены как безопасные, и HSTS не используется.
Откройте класс с redirect_to
и добавьте метод redirect_to_secure_of
с соответствующей реализацией. Затем вызовите:
redirect_to_secure_of "/some_directory/"
Поместите этот метод в каталог lib
или куда-нибудь полезное.
Метод ActionController :: Base # redirect_to
принимает хеш параметров, одним из параметров которого является : протокол
, который позволяет вам вызывать:
redirect_to :protocol => 'https://',
:controller => 'some_controller',
:action => 'index'
См. Определение для #redirect_to
и #url_for
для получения дополнительной информации о параметрах.
В качестве альтернативы, особенно если SSL должен использоваться для всех действий вашего контроллера, вы можете применить более декларативный подход, используя before_filter
. В ApplicationController
вы можете определить следующий метод:
def redirect_to_https
redirect_to :protocol => "https://" unless (request.ssl? || request.local?)
end
Затем вы можете добавить фильтры в те контроллеры, для действий которых требуется SSL, например:
class YourController
before_filter :redirect_to_https, :only => ["index", "show"]
end
Или, если вам требуется SSL во всем приложении, объявите фильтр в ApplicationController
:
class ApplicationController
before_filter :redirect_to_https
end
Relative URL-адреса по определению используют текущий протокол и хост. Если вы хотите изменить используемый протокол, вам необходимо указать абсолютный URL. Я бы прислушался к совету Джастиса и создал метод, который сделает это за вас:
def redirect_to_secure(relative_uri)
redirect_to "https://" + request.host + relative_uri
end