如何防止通过url地址栏直接访问后台

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何防止通过url地址栏直接访问后台相关的知识,希望对你有一定的参考价值。

新手学习。。求教
struts2 如何解决这个问题呢。。如果将jsp 放在web-inf的目录下的话,再写拦截器监控action,但是就会产生一个网页跳转链接,就要学多一个跳转ACTION类的问题。这样的话,自己感觉会很麻烦。难道过滤器跟拦截器一起用?。还有没其他解决办法呢? 正常开发的是如何解决的呢?。。。

参考技术A web-inf 装要保护的文件,像login页面没什么必要。所以登陆后在配置文件中跳转时只需要加上

web-inf文件路径就行了,它内部可以访问,外部链接地址不能访问

通过在 react-router 的地址栏上输入它的地址直接访问路由器

【中文标题】通过在 react-router 的地址栏上输入它的地址直接访问路由器【英文标题】:Access to router directly by typing it's address on the address bar in react-router 【发布时间】:2017-08-17 13:12:47 【问题描述】:

使用 react-router (V4) 有两种“主要”方式;第一种方法是使用哈希路由器,您可以通过在浏览器的地址栏上键入地址直接访问该地址,但您必须在 URL 中添加 #,另一种方法是使用 BrowserRouter,它具有漂亮且用户友好的 URL 结构,但您可以t 直接输入地址来渲染路由。

我如何配置 HashRouter 使其在没有 # 的情况下工作或配置 BrowserRouter 以直接使用 URL 输入? .htaccess 可以吗?怎么样?


const React = require('react');
const ReactDOM = require('react-dom');
import  HashRouter as Router, Route, Link from 'react-router-dom';
    
const routes = (
    <Router forceRefresh=false>
        <div>
            <Route exact path="/" component=Firstpage/>
            <Route exact path="/projects" component=Projectslist/>
        </div>
    </Router>
);

ReactDOM.render(routes, document.getElementById('app'));

[在这种类型中,它与 # 标记一起使用。例如:localhost:2000/#/projects]


另一种类型:

const React = require('react');
const ReactDOM = require('react-dom');
import  BrowserRouter as Router, Route, Link from 'react-router-dom';
    
const routes = (
    <Router forceRefresh=true>
        <div>
            <Route exact path="/" component=Firstpage/>
            <Route exact path="/projects" component=Projectslist/>
        </div>
    </Router>
);
    
ReactDOM.render(routes, document.getElementById('app'));

[并且在这种类型中它没有#标记也可以很好地工作,但是无法直接在浏览器的地址栏上加载它。]

【问题讨论】:

你可以通过输入url来显示路线 这正是我想做的,但它在 BrowserRouter 中不起作用:( 给我看看你的配置,看看我能帮上什么忙 谢谢亲爱的 Rei,所以请检查下面的代码。 你确定第二个例子吗?或者您只是将此响应发送到 '/' ?第二个示例可以正常工作,您需要做的就是设置服务器,以便它在每条路径上发送正确的响应。 【参考方案1】:

如果你使用 webpack-dev-server,你需要在你的配置文件中设置historyApiFallback: true

https://webpack.js.org/configuration/dev-server/#devserver-historyapifallback

【讨论】:

以上是关于如何防止通过url地址栏直接访问后台的主要内容,如果未能解决你的问题,请参考以下文章

url地址栏中带有hash值的在.net后台怎样取值

前端防止url输入地址直接访问页面

通过在 react-router 的地址栏上输入它的地址直接访问路由器

伪静态问题导致前台页面无法通过地址栏访问

利用JS获取地址栏的中文参数,如何避免取到乱码?

java获取浏览器地址栏地址