小编Ste*_*ven的帖子

如何隐藏bash脚本中用于访问MySQL的密码/用户名?

我正在编写一个我计划通过cron执行的bash脚本.在这个脚本中,我想对MySQL数据库执行一个命令,如下所示:

$ mysql -u username -ppassword -e 'show databases;'
Run Code Online (Sandbox Code Playgroud)

为清楚起见,那些不熟悉mysql的人," - u"开关接受用于访问数据库的用户名," - p"用于密码(故意省略空格).

我正在寻找一种方法来保持用户名/密码在脚本中的使用方便,但这种方式也可以保护这些信息免受窥探.我见过要求以下的策略:

  1. 将密码保存在文件中:pword.txt
  2. chmod 700 pword.txt(删除文件所有者以外的所有权限"
  3. 当需要登录时,将cat pword.txt转换为脚本中的变量.

但我不觉得这也很安全(关于保持密码明确让我感到不安).

那么我应该如何保护将在Linux上的自动脚本中使用的密码?

mysql security bash scripting

15
推荐指数
2
解决办法
1万
查看次数

以动态方式使用styleSheets是否会增加大量计算

我有大约40个按钮,它们也是指示灯(开或关),每秒一次我根据状态刷新这些指示灯的颜色.我通过更改样式表来完成此操作.是否过度杀死这样做,如果是这样我应该只在指标改变状态时设置一个新的样式表,还是应该使用像QBrush这样的东西?

qt

7
推荐指数
2
解决办法
4119
查看次数

我为什么要使用N层方法使用SqlDatasource时要轻松一点?

在网络开发方面,我一直试图使用SMART而不是很难.因此,在我的AspNet项目中,我的Aproach与数据库交互的时间是:

1)创建我的存储过程

2)在我的aspx页面上拖动一个SQLDatasource控件

3)将DataList控件绑定到我的SQLDatasource

4)使用我的Datalist插入,更新和删除,或使用内置的SQLDatasource方法以编程方式进行插入,更新和删除

MySqlDataSource.InsertParameters["author"].DefaultValue = TextBox1.Text;

MySqlDataSource.Insert();
Run Code Online (Sandbox Code Playgroud)

最近我有一个相对容易的网络项目.所以我决定采用一个三层模型......但我中途疲惫,只是看起来不值得!对于一个可以通过几个SqlDataSource控件轻松完成的项目来说,我似乎工作太辛苦了.

那么为什么N层模型比我的方法更好?它与性能有什么关系吗?ObjectDataSource控件对SqlDataSource控件有什么优势?

asp.net n-tier-architecture

6
推荐指数
1
解决办法
1253
查看次数

哪个性能更好:带引号的双引号字符串或带连接的单引号字符串?

我知道在PHP中使用字符串周围的单引号比使用双引号要快,因为PHP不需要检查单引号字符串中的变量是否存在.我的问题是哪个会表现得更好:

A)带有变量的双引号字符串:

echo "foo bar $baz";
Run Code Online (Sandbox Code Playgroud)

要么

B)单引号连接变量:

echo 'foo bar ' . $baz;
Run Code Online (Sandbox Code Playgroud)

php string performance

5
推荐指数
1
解决办法
1025
查看次数

我应该使用什么SQL Server DataType作为Text字段,它将被JOINED,"LIKE'd"和查询很多?

标题真的说明了一切,但对于那些打扰点击的人来说更多信息.

  • 字符串的长度通常在2-5个字符之间,可能偶尔超过5个字符,超过10个字符.从不超过10个字符.
  • 会像这样查询:
    • SELECT ... WHERE ... = 'abcd';
    • SELECT ... WHERE ... LIKE 'ab%';
  • 将在表JOINS中使用.

我想知道我是否应该使用nvarchar(10)或char(10)或varchar(10)?对于像我这样的情况,我真的不知道上述的优点和缺点是什么.我感谢您提供的任何意见.

sql t-sql sql-server database-design types

4
推荐指数
1
解决办法
1314
查看次数

shell脚本中使用的环境变量在由cron运行时在日志文件中显示为空白

原谅我的无知,但我对shell脚本和在Linux中使用环境变量有些新意.

我有一个执行MySQL数据库备份的脚本.我在脚本中有以下几行用于记录数据库的成功转储:

output=`date; echo "Database export successful from $ENV_HOSTNAME to $BACKUP_HOSTNAME"`
echo $output >> /var/log/errorLog
Run Code Online (Sandbox Code Playgroud)

我在/ etc/profile中定义了变量(ENV_HOSTNAME和BACKUP_HOSTNAME),如下所示:

export ENV_HOSTNAME="env1.somename.com"
export BACKUP_HOSTNAME="env2.somename.com"
Run Code Online (Sandbox Code Playgroud)

当我调用printenv时,我可以看到列出的这些变量,并且当我运行此脚本(以root身份)时,变量值正确显示在日志文件中.但是,当我将此脚本设置为使用cron运行时,变量值不会出现在日志文件中.我知道脚本运行是因为我可以看到日期和字符串的其余部分,但变量是空白的:

Fri Nov 6 22:31:05 EST 2009 Database export successful from to
Run Code Online (Sandbox Code Playgroud)

我确定我在这里遗漏了一些简单的东西,所以请提前感谢您的帮助.

linux shell scripting environment-variables

3
推荐指数
2
解决办法
3148
查看次数

我有很多"IF/ELSE"语句,我应该这样写吗?

这就是我所拥有的:

(category=="Ljud & Bild")?byId("nav_sub_ljud_bild").style.display='block' :  byId("nav_sub_ljud_bild").style.display='none';
(category=="Datorer")?byId("nav_sub_datorer").style.display='block' :  byId("nav_sub_datorer").style.display='none';
(category=="Telefoner & Fax")?byId("nav_sub_telefoner").style.display='block' :  byId("nav_sub_telefoner").style.display='none';

(category=="Överlåtelser")?byId("nav_sub_overlatelser").style.display='block' :  byId("nav_sub_overlatelser").style.display='none';
(category=="Fastigheter & Lokaler")?byId("nav_sub_fastigheter").style.display='block' :  byId("nav_sub_fastigheter").style.display='none';
(category=="Inventarier/Inredning")?byId("nav_sub_inventarier").style.display='block' :  byId("nav_sub_inventarier").style.display='none';
(category=="Tjänster")?byId("nav_sub_tjanster").style.display='block' :  byId("nav_sub_tjanster").style.display='none';

(category=="Resor & Biljetter")?byId("nav_sub_resor").style.display='block' :  byId("nav_sub_resor").style.display='none';
(category=="Sport & Träning")?byId("nav_sub_sport").style.display='block' :  byId("nav_sub_sport").style.display='none';
(category=="Böcker & Litteratur")?byId("nav_sub_litteratur").style.display='block' :  byId("nav_sub_litteratur").style.display='none';
(category=="Djur")?byId("nav_sub_djur").style.display='block' :  byId("nav_sub_djur").style.display='none';
(category=="Musik-Instrument")?byId("nav_sub_musik_instrument").style.display='block' :  byId("nav_sub_musik_instrument").style.display='none';
(category=="Hobby & Samlarobjekt")?byId("nav_sub_samlarobjekt").style.display='block' :  byId("nav_sub_samlarobjekt").style.display='none';
(category=="Smycken & Klockor")?byId("nav_sub_juveler").style.display='block' :  byId("nav_sub_juveler").style.display='none';
(category=="Leksaker & Barn-artiklar")?byId("nav_sub_leksaker_barn").style.display='block' :  byId("nav_sub_leksaker_barn").style.display='none';
(category=="Vuxen-plagg")?byId("nav_sub_vuxen_plagg").style.display='block' :  byId("nav_sub_vuxen_plagg").style.display='none';
Run Code Online (Sandbox Code Playgroud)

你会怎么写这个?以上看起来很"丑陋"!

谢谢

html javascript php

0
推荐指数
1
解决办法
329
查看次数