这样实现行吗?(在线等待) 可另开帖加分!!!

天限天空 2002-07-10 10:30:30
根据 客户的要求 ,需要写程序 将本地 access 中的

数据
传到 托管 服务器的 oracle 数据库中, 为了安全,

我的 思路是 写一个 函数(此函数 可供 任何人操作

,包括一些非法人员),但函数的参数 多 两个参数
: 合法的用户名 和 密码(就像一般网站的帐号和密

码),对每次操作 之前 就先判断 这个帐号和密码,

如果对才继续执行。

因为给出的连接数据库 的帐号 只有对 函数的操作权限,如果一个无聊者 得到这个帐号和密码 而没有合法的用户的帐号和密码 也是没用的。 但这样 的话 每次操作 到要检查一次,对服务器的负担增加 不少。 在Oracle中 有没有 想 web 服务器 session的东西. 或其他 更好的方案,安全性第一

请指教!
...全文
32 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
KingSunSha 2002-07-30
  • 打赏
  • 举报
回复
大哥,要说这个问题可就大了,人家培训一年半载再加上实际项目都不见得能完全掌握,你要我具体说我都不知道从何说起。
我也不知道你目前有哪些程序知识、掌握了哪些项目经验,还是从实际出发慢慢学习、积累才行。在网上回答几个问题就能让人学会三层结构我实在没那个本事。。。
天限天空 2002-07-15
  • 打赏
  • 举报
回复
能具体点吗?

如果 最里面 用数据库

中间层 和数据库 怎么处理???、
KingSunSha 2002-07-15
  • 打赏
  • 举报
回复
c/s中确实安全多少是个问题,如果你对安全非常注重的话,不如采用三层架构吧,把对服务器的操作放在中间层,那就很难作恶意的破坏了
KingSunSha 2002-07-12
  • 打赏
  • 举报
回复
如果用户很多而且不好控制的话,这种数据传输我会让用户用文本文件的方式传到某个地址,然后服务器主动的去读取文本文件中的数据,进行处理后放入服务器。

通常c/s模式下应该让每个用户拥有自己的userid,对每个id的权限尽可能地控制(访问有限的表以及其他对象),当然对很多用户一个个地授权很讨厌,那可以用角色来简化操作。
KingSunSha 2002-07-12
  • 打赏
  • 举报
回复
如果用户很多而且不好控制的话,这种数据传输我会让用户用文本文件的方式传到某个地址,然后服务器主动的去读取文本文件中的数据,进行处理后放入服务器。

通常c/s模式下应该让每个用户拥有自己的userid,对每个id的权限尽可能地控制(访问有限的表以及其他对象),当然对很多用户一个个地授权很讨厌,那可以用角色来简化操作。
天限天空 2002-07-12
  • 打赏
  • 举报
回复
如果 该 用户对某个表 具有增加,修改的权限,
那不是 很危险, 他可以 任意修改 其他 用户的 信息了.

有更安全的 方 案吗???

天限天空 2002-07-11
  • 打赏
  • 举报
回复
象 一般的 C/S 模式 用客户端 软件对 远程的数据库 操着

怎样 来 保证 安全性????
天限天空 2002-07-11
  • 打赏
  • 举报
回复
喔,是这样

那 请大虾 指点一下

有好的解决方案吗?

KingSunSha 2002-07-11
  • 打赏
  • 举报
回复
如果这个用户的权限只能执行这个函数,那么:
1、无法访问存在一个表中的账号和密码,谈何认证?
2、无法访问其他的表,如何进行操作?

如果这个用户可以访问用户密码表和其他的表,那我就可以对这些表进行操作(用sqlplus就可以),安全性何在?

你还是要先学习一下oracle的用户权限知识在来考虑这个问题,好吗?
天限天空 2002-07-11
  • 打赏
  • 举报
回复
对,就是要避免 logon 进去 干一些 坏事,
所以 设定一个帐号 可以logon 进去, 这个帐号的权限就只能 执行这个函数,

函数的功能可以很强, 但函数的参数中 有两个东西:
1. 帐号 2.密码 (存在一个表中的)
函数执行的第一步 就是检查 帐号和密码 是否正确, 如果正确 才执行
相应的操作.
天限天空 2002-07-11
  • 打赏
  • 举报
回复
对,就是要避免 logon 进去 干一些 坏事,
所以 设定一个帐号 可以logon 进去, 这个帐号的权限就只能 执行这个函数,

函数的功能可以很强, 但函数的参数中 有两个东西:
1. 帐号 2.密码 (存在一个表中的)
函数执行的第一步 就是检查 帐号和密码 是否正确, 如果正确 才执行
相应的操作.
KingSunSha 2002-07-10
  • 打赏
  • 举报
回复
还是不明白你的意思
这个验证是任何人都可以获得的?那我可以logon去你的oracle server吗?用什么帐号?有哪些系统权限和对象权限?有了这个帐号,我干嘛还要什么函数啊,我会用sqlplus干任意我想干的事情(只要有权限)。
你的函数是在服务器端oracle中的?什么叫做函数的功能可以完成任何想干的事?有这样的函数嘛?
oracle的验证机制(不管是oracle,几乎所有的数据库系统)都是通过用户以及授权来完成的,你说的在函数中的验证是什么东西啊?
天限天空 2002-07-10
  • 打赏
  • 举报
回复
“执行一次该函数就需要输入一次密码,这样很容易泄露的”

自少 只泄露 一个合法用户的帐号,不会泄露整个数据库的帐号
天限天空 2002-07-10
  • 打赏
  • 举报
回复
"要从客户端送数据去oracle服务器总要提供验证"

这个验证是 任何人都可 获得的

但验证的 权限只是 执行编写的函数

而函数的功能可以完成任何想干的事(前题是参数中的帐号和密码要合法)

mimimi 2002-07-10
  • 打赏
  • 举报
回复
???
blue__star 2002-07-10
  • 打赏
  • 举报
回复
不明白
xinpingf 2002-07-10
  • 打赏
  • 举报
回复
执行一次该函数就需要输入一次密码,这样很容易泄露的
xinpingf 2002-07-10
  • 打赏
  • 举报
回复
执行一次该函数就需要输入一次密码,这样很容易泄露的
KingSunSha 2002-07-10
  • 打赏
  • 举报
回复
好像不应该有这种思路吧?无论怎么样,要从客户端送数据去oracle服务器总要提供验证的。
不大明白你的意思
KingSunSha 2002-07-10
  • 打赏
  • 举报
回复
好像不应该有这种思路吧?无论怎么样,要从客户端送数据去oracle服务器总要提供验证的。
不大明白你的意思
加载更多回复(2)
网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。   Bootcfg   bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。   含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 bootcfg 命令。   用法:   bootcfg /default  设置默认引导项。   bootcfg /add    向引导列表中添加 Windows 安装。   bootcfg /rebuild  重复全部 Windows 安装过程并允许用户选择要添加的内容。   注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。   bootcfg /scan    扫描用于 Windows 安装的所有磁盘并显示结果。   注意:这些结果被静态存储,并用于本次会话。如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。   bootcfg /list   列出引导列表中已有的条目。   bootcfg /disableredirect 在启动引导程序中禁用重定向。   bootcfg /redirect [ PortBaudRrate] |[ useBiosSettings]   在启动引导程序中通过指定配置启用重定向。   范例: bootcfg /redirect com1 115200 bootcfg /redirect useBiosSettings   hkdsk   创建并显示磁盘的状态报告。Chkdsk 命令还可列出并纠正磁盘上的错误。   含有下列参数的 chkdsk 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 chkdsk 命令。   vol [drive:] [ chkdsk [drive:] [/p] [/r]   参数  无   如果不带任何参数,chkdsk 将显示当前驱动器中的磁盘状态。 drive: 指定要 chkdsk 检查的驱动器。 /p   即使驱动器不在 chkdsk 的检查范围内,也执彻底检查。该参数不对驱动器做任何更改。 /r   找到坏扇区并恢复可读取的信息。隐含着 /p 参数。   注意 Chkdsk 命令需要 Autochk.exe 文件。如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart   创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。   diskpart [ /add |/delete] [device_name |drive_name |partition_name] [size]   参数 无   如果不带任何参数,diskpart 命令将启动 diskpart 的 Windows 字符模式版本。   /add   创建新的分区。   /delete   删除现有分区。   device_name   要创建或删除分区的设备。设备名称可从 map 命令的输出获得。例如,设备名称:   DeviceHardDisk0   drive_name   以驱动器号表示的待删除分区。仅与 /delete 同时使用。以下是驱动器名称的范例:   D:   partition_name   以分区名称表示的待删除分区。可代替 drive_name 使用。仅与 /delete 同时使用。以下是分区名称的范例:   DeviceHardDisk0Partition1    大小   要创建的分区大小,以兆字节 (MB)表示。仅与 /add 同时使用。   范例   下例将删除分区: diskpart /delete Device HardDisk0 Partition3 diskpart /delete F:   下例将在硬盘上添加一个 20 MB 的分区:   diskpart /add Device HardDisk0 20   Fixboot

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧