我有一个ajax方法,其实际上是这样的
function getRow(tableName, idName, idValue, callback)
Run Code Online (Sandbox Code Playgroud)
这样做的明显好处是我有一个可以从任何表中检索数据的函数.然而,这只是觉得从安全的角度不对,它是一个安全风险这样做呢?实际读取/操作数据库的相应PHP文件是通过先前的身份验证过程来保护的,因此理论上,表名称在真空中的可见性不应该是风险(更不用说数据库只接受localhost连接),但是我想知道是否没有更好/更漂亮的方法来实现这一目标.
编辑:为了澄清身份验证过程,用户/角色安全性会阻止访问除用户明确允许的表之外的所有表.
我有一个创建 Widget 对象的 Factory 类。工厂对象稍后需要回调 Widget 对象的“私有方法”,以向其传递一些 ajax 信息。到目前为止,我想出的唯一实现是在 Widget 中创建一个公共方法,该方法将私有方法返回给工厂,然后删除自己,然后工厂返回新的 Widget,同时保留指向私有方法的指针. 这是一个简化的示例:
function Factory()
{
var widgetCallback = null;
this.ajaxOperation = function()
{
//some ajax calls
widgetCallback('ajaxresults');
}
this.getNewWidget = function()
{
var wid = new Widget();
widgetCallback = wid.getCallback();
return wid;
}
function Widget()
{
var state = 'no state';
var self = this;
var modifyState = function(newState)
{
state = newState;
}
this.getState = function()
{
return state;
}
this.getCallback = function()
{
delete self.getCallback;
return modifyState; …Run Code Online (Sandbox Code Playgroud) 我想在PHP请求中缓存一些数据,而不是在每次调用期间从数据库中提取数据.无论用户/会话如何,数据都适用.实现这一目标的最轻的方法是什么?我不能保证对驱动器的写访问权或要求APC.有没有办法用香草PHP实现这一点?谢谢!